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之软键盘实现(js源码)
Jan 30 Javascript
javascript学习笔记(一)基础知识
Sep 30 Javascript
jq实现左侧显示图片右侧文字滑动切换效果
Aug 04 Javascript
jquery ztree异步搜索(搜叶子)实践
Feb 25 Javascript
基于JavaScript实现瀑布流效果
Mar 29 Javascript
基于Bootstrap分页的实例讲解(必看篇)
Jul 04 Javascript
JS库之Three.js 简易入门教程(详解之一)
Sep 13 Javascript
微信小程序使用input组件实现密码框功能【附源码下载】
Dec 11 Javascript
JS函数节流和函数防抖问题分析
Dec 18 Javascript
JavaScript实现简单随机点名器
Nov 21 Javascript
微信小程序实现吸顶效果
Jan 08 Javascript
原生js实现自定义滚动条组件
Jan 20 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
Yii2实现增删改查后留在当前页的方法详解
2017/01/13 PHP
PHP实现文件下载【实例分享】
2017/04/28 PHP
[原创]php token使用与验证示例【测试可用】
2017/08/30 PHP
one.php 多项目、函数库、类库 统一为一个版本的方法
2020/08/24 PHP
Javascript开发包大全整理
2006/12/22 Javascript
使用JavaScript的ActiveXObject对象检测应用程序是否安装的方法
2014/04/15 Javascript
js打造数组转json函数
2015/01/14 Javascript
JS动态改变表格边框宽度的方法
2015/03/31 Javascript
JavaScript获取页面中第一个锚定文本的方法
2015/04/03 Javascript
jQuery弹簧插件编写基础之“又见弹窗”
2015/12/11 Javascript
分享19个JavaScript 有用的简写写法
2017/07/07 Javascript
Three.js利用dat.GUI如何简化试验流程详解
2017/09/26 Javascript
浅谈Webpack 持久化缓存实践
2018/03/22 Javascript
vue 实现边输入边搜索功能的实例讲解
2018/09/16 Javascript
微信小程序开发之路由切换页面重定向问题
2018/09/18 Javascript
angular将html代码输出为内容的实例
2018/09/30 Javascript
iView-admin 动态路由问题的解决方法
2018/10/03 Javascript
Node.js 实现远程桌面监控的方法步骤
2019/07/02 Javascript
ES5新增数组的实现方法
2020/05/12 Javascript
vue 插槽简介及使用示例
2020/11/19 Vue.js
[01:10:58]Spirit vs NB Supermajor小组赛 A组败者组决赛 BO3 第二场 6.2
2018/06/03 DOTA
使用Python的web.py框架实现类似Django的ORM查询的教程
2015/05/02 Python
Python3搜索及替换文件中文本的方法
2015/05/22 Python
使用Python神器对付12306变态验证码
2016/01/05 Python
Python科学计算包numpy用法实例详解
2018/02/08 Python
pytorch动态网络以及权重共享实例
2020/01/06 Python
python能自学吗
2020/06/18 Python
使用PyCharm安装pytest及requests的问题
2020/07/31 Python
python里反向传播算法详解
2020/11/22 Python
财务主管岗位职责
2014/02/28 职场文书
教育系统干部作风整顿心得体会
2014/09/09 职场文书
优秀党员先进事迹材料
2014/12/18 职场文书
爱护环境卫生倡议书
2015/04/29 职场文书
2016廉洁教育心得体会
2016/01/20 职场文书
详解JAVA中的OPTIONAL
2021/06/14 Java/Android
Python干货实战之八音符酱小游戏全过程详解
2021/10/24 Python