首页 > 编程 > JavaScript > 正文

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

2019-11-19 11:30:14
字体:
来源:转载
供稿:网友

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中的组件及路由使用实例代码详解,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对武林网网站的支持!
如果你觉得本文对你有帮助,欢迎转载,烦请注明出处,谢谢!

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表