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


Posted in Javascript onMay 22, 2019

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

Javascript 相关文章推荐
推荐dojo学习笔记
Mar 24 Javascript
JavaScript 学习笔记(九)call和apply方法
Jan 11 Javascript
javascript避免数字计算精度误差的方法详解
Mar 05 Javascript
JSONP跨域的原理解析及其实现介绍
Mar 22 Javascript
解释&amp;&amp;和||在javascript中的另类用法
Jul 28 Javascript
jQuery中:gt选择器用法实例
Dec 29 Javascript
javascript如何实现360度全景照片问题汇总
Apr 04 Javascript
Centos6.8下Node.js安装教程
May 12 Javascript
用Vue-cli搭建的项目中引入css报错的原因分析
Jul 20 Javascript
js制作简单的音乐播放器的示例代码
Aug 28 Javascript
详解创建自定义的Angular Schematics
Jun 06 Javascript
详解JSON和JSONP劫持以及解决方法
Mar 08 Javascript
Vue侦测相关api的实现方法
May 22 #Javascript
一文快速详解前端框架 Vue 最强大的功能
May 21 #Javascript
微信小程序系列之自定义顶部导航功能
May 21 #Javascript
js计算两个时间差 天 时 分 秒 毫秒的代码
May 21 #Javascript
微信小程序websocket实现即时聊天功能
May 21 #Javascript
Node.JS在命令行中检查Chrome浏览器是否安装并打开指定网址
May 21 #Javascript
taro开发微信小程序的实践
May 21 #Javascript
You might like
PHP下载远程图片的几种方法总结
2017/04/07 PHP
php中时间函数date及常用的时间计算
2017/05/12 PHP
PHP迭代器和迭代的实现与使用方法分析
2018/04/19 PHP
Javascript 原型和继承(Prototypes and Inheritance)
2009/04/01 Javascript
jquery和javascript的区别(常用方法比较)
2013/07/04 Javascript
jQuery实现输入框下拉列表树插件特效代码分享
2015/08/27 Javascript
基于Phantomjs生成PDF的实现方法
2016/11/07 Javascript
利用HTML5+Socket.io实现摇一摇控制PC端歌曲切换
2017/01/13 Javascript
node.js与C语言 实现遍历文件夹下最大的文件,并输出路径,大小
2017/01/20 Javascript
jQuery插件FusionCharts实现的2D柱状图效果示例【附demo源码下载】
2017/03/06 Javascript
js实现一个简单的数字时钟效果
2017/03/29 Javascript
JS实现评价的星星功能
2017/08/20 Javascript
关于 angularJS的一些用法
2017/11/29 Javascript
vue.js使用v-model实现父子组件间的双向通信示例
2020/02/05 Javascript
详解javascript void(0)
2020/07/13 Javascript
详解vue中v-model和v-bind绑定数据的异同
2020/08/10 Javascript
解决vuex刷新数据消失问题
2020/11/12 Javascript
[42:48]完美世界DOTA2联赛PWL S3 Magma vs INK ICE 第二场 12.11
2020/12/16 DOTA
简单介绍Python中的floor()方法
2015/05/15 Python
Python使用Beautiful Soup包编写爬虫时的一些关键点
2016/01/20 Python
Python全局变量用法实例分析
2016/07/19 Python
Python中第三方库Requests库的高级用法详解
2017/03/12 Python
Python用 KNN 进行验证码识别的实现方法
2018/02/06 Python
Django 大文件下载实现过程解析
2019/08/01 Python
详细整理python 字符串(str)与列表(list)以及数组(array)之间的转换方法
2019/08/30 Python
Python函数式编程指南:对生成器全面讲解
2019/11/19 Python
Python实现文件压缩和解压的示例代码
2020/08/12 Python
python通过cython加密代码
2020/12/11 Python
美体小铺法国官方网站:The Body Shop法国
2020/06/04 全球购物
delegate与普通函数的区别
2014/01/22 面试题
《和田的维吾尔》教学反思
2014/04/14 职场文书
致地震灾区的慰问信
2015/03/23 职场文书
2015年乡镇发展党员工作总结
2015/03/31 职场文书
python基础入门之普通操作与函数(三)
2021/06/13 Python
Java8 Stream API 提供了一种高效且易于使用的处理数据的方式
2022/04/13 Java/Android
详解MongoDB排序时内存大小限制与创建索引的注意事项
2022/05/06 MongoDB