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 相关文章推荐
百度 popup.js 完美修正版非常的不错 脚本之家推荐
Apr 17 Javascript
有趣的javascript数组定义方法
Sep 10 Javascript
javascript自适应宽度的瀑布流实现思路
Feb 20 Javascript
Jquery+asp.net后台数据传到前台js进行解析的方法
May 11 Javascript
jquery图片倾斜层叠切换特效代码分享
Aug 27 Javascript
jquery实现简单实用的弹出层效果代码
Oct 15 Javascript
整理Javascript基础入门学习笔记
Nov 29 Javascript
jQuery animate和CSS3相结合实现缓动追逐效果附源码下载
Apr 18 Javascript
JS中mouseover和mouseout多次触发问题如何解决
Jun 06 Javascript
深入解析JavaScript中的arguments对象
Jun 12 Javascript
详谈js中标准for循环与foreach(for in)的区别
Nov 02 Javascript
详解angular2如何手动点击特定元素上的点击事件
Oct 16 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 转换字符串编码 iconv与mb_convert_encoding的区别说明
2011/11/10 PHP
采用thinkphp自带方法生成静态html文件详解
2014/06/13 PHP
PHP实现图片压缩
2020/09/09 PHP
List Information About the Binary Files Used by an Application
2007/06/18 Javascript
jquery中常用的SET和GET
2009/01/13 Javascript
childNodes.length与children.length的区别
2009/05/14 Javascript
关于Ext中form移除textfield方法:hide(),setVisible(false),remove()
2010/12/02 Javascript
IE6下CSS图片缓存问题解决方法
2010/12/09 Javascript
js日期相关函数总结分享
2013/10/15 Javascript
jQuery实现加入购物车飞入动画效果
2015/03/14 Javascript
javascript实现了照片拖拽点击置顶的照片墙代码
2015/04/03 Javascript
jQuery的bind()方法使用详解
2015/07/15 Javascript
JavaScript基本类型值-Undefined、Null、Boolean
2017/02/23 Javascript
vue编译打包本地查看index文件的方法
2018/02/23 Javascript
基于jquery实现左右上下移动效果
2018/05/02 jQuery
Vue配合iView实现省市二级联动的示例代码
2018/07/27 Javascript
小程序实现列表删除功能
2018/10/30 Javascript
pyqt4教程之实现半透明的天气预报界面示例
2014/03/02 Python
用Python中的__slots__缓存资源以节省内存开销的方法
2015/04/02 Python
python 如何快速找出两个电子表中数据的差异
2017/05/26 Python
浅谈python中的数字类型与处理工具
2017/08/02 Python
numpy返回array中元素的index方法
2018/06/27 Python
python最小生成树kruskal与prim算法详解
2019/01/17 Python
python 实现人和电脑猜拳的示例代码
2020/03/02 Python
基于Python的OCR实现示例
2020/04/03 Python
解决Python 异常TypeError: cannot concatenate 'str' and 'int' objects
2020/04/08 Python
tensorflow2.0的函数签名与图结构(推荐)
2020/04/28 Python
python属于解释型语言么
2020/06/15 Python
颁奖晚会主持词
2014/03/25 职场文书
离职保密承诺书
2014/05/28 职场文书
运动会演讲稿200字
2014/08/25 职场文书
商业计划书范文
2019/04/24 职场文书
如何利用map实现Nginx允许多个域名跨域
2021/03/31 Servers
JavaScript offset实现鼠标坐标获取和窗口内模块拖动
2021/05/30 Javascript
美元符号 $
2022/02/17 杂记
python使用BeautifulSoup 解析HTML
2022/04/24 Python