Vue中的组件及路由使用
2019-05-22 06:34:12来源:博客园 阅读 ()
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>
原文链接:https://www.cnblogs.com/shineguang/p/10903255.html
如有疑问请与原作者联系
标签:
版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有
- Javascript中的经典技巧 2020-03-20
- vue.js开发环境搭建教程 2020-03-16
- 带你了解JavaScript中的函数 2020-03-08
- Vue input控件通过value绑定动态属性及修饰符的方法 2020-03-05
- 默认让页面的第一个控件选中的javascript代码 2020-02-20
IDC资讯: 主机资讯 注册资讯 托管资讯 vps资讯 网站建设
网站运营: 建站经验 策划盈利 搜索优化 网站推广 免费资源
网络编程: Asp.Net编程 Asp编程 Php编程 Xml编程 Access Mssql Mysql 其它
服务器技术: Web服务器 Ftp服务器 Mail服务器 Dns服务器 安全防护
软件技巧: 其它软件 Word Excel Powerpoint Ghost Vista QQ空间 QQ FlashGet 迅雷
网页制作: FrontPages Dreamweaver Javascript css photoshop fireworks Flash