Vue中的组件及路由使用实例代码详解

所属分类: 网络编程 / JavaScript 阅读数: 1335
收藏 0 赞 0 分享

1.组件是什么

       组件系统是 Vue 的一个重要概念,因为它是一种抽象,允许我们使用小型、独立和通常可复用的组件构建大型应用。通常一个应用会以一棵嵌套的组件树的形式来组织;

1.1组件的声明及使用

  全局组件

<body>
  <div id="app">
    <!-- 用全局组件的名称作为HTML的标签 -->
    <myzujian></myzujian>
  </div>
  
</body>
<script>
  //设置全局组件
   Vue.component("myzujian",{
     template:"<h2>我是全局组件</h2>"
   });
   var app=new Vue({
     el:"#app",
   });
</script>

  局部组件

<body>
  <div id="app">
    <!-- 用局部组件的名称作为HTML的标签 -->
    <zu-jian></zu-jian>
  </div>
  
</body>
<script>
   var app=new Vue({
     el:"#app",
     components:{
       zuJian:{
         template:"<h1>我是局部组件</h1>", 
       }
     }
   });
</script>

1.2组件使用注意事项

   组件名如果是驼峰法命名,使用组件时要将大写字母改为小写,并且在前面加上 - 组件中的tamplate属性必须有一个唯一的根元素,否则会报错

1.3组件中数据及方法

<body>
  <div id="app">
    <mytemp></mytemp>
  </div>
</body>
<script>
  var app=new Vue({
    el:"#app",
    data:{},
    components:{
      mytemp:{
        data(){
          return {
            msg:"123456789",
          }
        },
        methods: {
          cli(){
            alert(this.msg);
          }
        },
        template:'<h1 @click="cli">you{{msg}} very good</h1>',
      }
    }
  });
</script>

1.4父级组件传值

<body>
  <div id="app">
    <my :cc="msg"></my>
  </div>
</body>
<script>
  var app = new Vue({
    el:'#app',
    data:{msg:'没事干'},
    components:{
      my:{
        props:['cc'],
        template:"<s>{{cc}}</s>"
      }
    }
  })
</script>

2.路由的使用

   Vue在使用路由插件Vue-router,要提前引入。

<body>
  <div id="app">
    <ul>
      <li> <router-link to="/login">登录</router-link> </li>
      <li> <router-link to="/reg">注册</router-link> </li>
    </ul>
    <router-view></router-view>
  </div>
</body>
<script>
  // 获取路由对象
  var ro = new VueRouter({
    // 定义路由规则
    routes:[
      // 具体匹配规则
      // {path:匹配地址栏路由变化,component:要展示组件}
      {path:'/reg',component:{template:"<s>我是注册</s>"}},
      {path:'/login',component:{template:"<s>我是登录</s>"}},
    ]
  })
  var app = new Vue({
    el: '#app',
    data: {},
    router:ro
  })
</script>

2.1动态路由匹配

<body>
  <div id="app">
    <!-- 传递数据直接写在 / 后面 -->
    <router-link to="/user/10">hfhg</router-link>
    <router-view></router-view>
  </div>
</body>
<script>
  var router = new VueRouter({
    routes: [
      {  
        // 获取数据是变量的名字前面加: 
        path: "/user/:id", component: {
          mounted(){
            // router会为vue添加公有属性 $route ,使用$route来获取数据
            console.log(this.$route.params.id)
          },
          template: "<s>就大师{{$route.params.id}}分离开国家</s>"
        }
      }
    ]
  })
  var app = new Vue({
    el: '#app',
    data: {},
    router,
  })
</script>

以上所述是小编给大家介绍的Vue中的组件及路由使用实例代码详解,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对脚本之家网站的支持!
如果你觉得本文对你有帮助,欢迎转载,烦请注明出处,谢谢!

更多精彩内容其他人还在看

AngularJs IE Compatibility 兼容老版本IE

本文主要介绍AngularJs IE Compatibility 兼容老版本IE的问题及解决办法,有兴趣的小伙伴可以参考下
收藏 0 赞 0 分享

AngularJs Modules详解及示例代码

本文主要介绍AngularJs Modules的相关知识,这里整理了详细的资料及简单示例代码,有兴趣的朋友可以参考下
收藏 0 赞 0 分享

AngularJs Scope详解及示例代码

本文主要介绍AngularJs Scope的知识,这里整理了详细资料及示例代码,有兴趣的小伙伴可以参考下
收藏 0 赞 0 分享

node.js中module.exports与exports用法上的区别

Node.js 引入了模块(Module)概念,一个模块可以通过module.exports 或 exports 将函数、变量等导出,以使其它 JavaScript 脚本通过require() 函数引入并使用。那么node.js中module.exports与exports有什么
收藏 0 赞 0 分享

基于JS实现发送短信验证码后的倒计时功能(无视页面刷新,页面关闭不进行倒计时功能)

这篇文章主要介绍了基于JS实现发送短信验证码后的倒计时功能(无视页面刷新,页面关闭不进行倒计时功能)的相关资料,非常不错,具有参考借鉴价值,需要的朋友可以参考下
收藏 0 赞 0 分享

基于jQuery实现发送短信验证码后的倒计时功能(无视页面关闭)

最近做了一个项目,其中有需求要求实现发送短信验证码后倒计时功能,其中有个难点:要求关闭页面也进行倒计时。好吧,下面小编把jquery 发送验证码倒计时的实现代码分享给大家,大家可以参考下
收藏 0 赞 0 分享

js绘制购物车抛物线动画

这篇文章主要为大家详细介绍了js绘制购物车抛物线动画,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
收藏 0 赞 0 分享

vue.js入门教程之绑定class和style样式

小编之前介绍了通过vue.js计算属性,不知道大家都学会了吗。那这篇文章中我们将一起学习vue.js实现绑定class和style样式,有需要的朋友们可以参考借鉴。
收藏 0 赞 0 分享

纯JS实现可拖拽表单的简单实例

下面小编就为大家带来一篇纯JS实现可拖拽表单的简单实例。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
收藏 0 赞 0 分享

js实现StringBuffer的简单实例

下面小编就为大家带来一篇js实现StringBuffer的简单实例。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
收藏 0 赞 0 分享
查看更多