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 相关文章推荐
js兼容标准的表格变色效果
Jun 28 Javascript
超级退弹代码
Jul 07 Javascript
js获取select选中的option的text示例代码
Dec 19 Javascript
JS获取select-option-text_value的方法
Dec 26 Javascript
javascript实现依次输入input自动定焦
Dec 23 Javascript
Flash图片上传组件 swfupload使用指南
Mar 14 Javascript
jquery实现图片水平滚动效果代码分享
Aug 26 Javascript
Vue实现导出excel表格功能
Mar 30 Javascript
解决select2在bootstrap modal中不能正常使用的问题
Aug 09 Javascript
layui点击弹框页面 表单请求的方法
Sep 21 Javascript
javascript中可能用得到的全部的排序算法
Mar 05 Javascript
TypeScript的安装、使用、自动编译的实现
Apr 10 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
拼音码表的生成
2006/10/09 PHP
Yii2使用小技巧之通过 Composer 添加 FontAwesome 字体资源
2014/06/22 PHP
PHP获取链表中倒数第K个节点的方法
2018/01/18 PHP
Docker搭建自己的PHP开发环境
2018/02/24 PHP
使用jquery中height()方法获取各种高度大全
2014/04/02 Javascript
JavaScript中Math.SQRT2属性的使用详解
2015/06/14 Javascript
jQuery使用经验小技巧(推荐)
2016/05/31 Javascript
详解Angular 中 ngOnInit 和 constructor 使用场景
2017/06/22 Javascript
vue中对象数组去重的实现
2020/02/06 Javascript
JS跨浏览器解析XML应用过程详解
2020/10/16 Javascript
ant-design表单处理和常用方法及自定义验证操作
2020/10/27 Javascript
[39:02]DOTA2亚洲邀请赛 3.31 小组赛 B组 Mineski vs VGJ.T
2018/04/01 DOTA
基于python的汉字转GBK码实现代码
2012/02/19 Python
Python列表list数组array用法实例解析
2014/10/28 Python
python 3.0 模拟用户登录功能并实现三次错误锁定
2017/11/01 Python
Python多进程库multiprocessing中进程池Pool类的使用详解
2017/11/24 Python
python如何实现反向迭代
2018/03/20 Python
python数字图像处理之骨架提取与分水岭算法
2018/04/27 Python
Ubuntu18.04中Python2.7与Python3.6环境切换
2019/06/14 Python
python Pandas如何对数据集随机抽样
2019/07/29 Python
Python产生一个数值范围内的不重复的随机数的实现方法
2019/08/21 Python
使用Pandas的Series方法绘制图像教程
2019/12/04 Python
Python中if有多个条件处理方法
2020/02/26 Python
win7上tensorflow2.2.0安装成功 引用DLL load failed时找不到指定模块 tensorflow has no attribute xxx 解决方法
2020/05/20 Python
python开发前景如何
2020/06/11 Python
python3将变量输入的简单实例
2020/08/19 Python
希尔顿酒店官方网站:Hilton Hotels
2017/06/01 全球购物
以特惠价提供在线奢侈品购物:FRMODA.com
2018/01/25 全球购物
瑜伽国际:Yoga International
2018/04/18 全球购物
德国高端单身人士交友网站:ElitePartner
2018/12/02 全球购物
三八妇女节活动主持词
2014/03/17 职场文书
感恩的演讲稿
2014/05/06 职场文书
生物学专业求职信
2014/07/23 职场文书
党员作风建设自查报告
2014/10/23 职场文书
为什么在foreach循环中JAVA集合不能添加或删除元素
2021/06/11 Java/Android
SQL SERVER实现连接与合并查询
2022/02/24 SQL Server