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 相关文章推荐
Array对象方法参考
Oct 03 Javascript
niceTitle 基于jquery的超链接提示插件
May 31 Javascript
uploadify 3.0 详细使用说明
Jun 18 Javascript
js调用webservice中的方法实现思路及代码
Feb 25 Javascript
JS交换变量的方法
Jan 21 Javascript
分步解析JavaScript实现tab选项卡自动切换功能
Jan 25 Javascript
JS平滑无缝滚动效果的实现代码
May 06 Javascript
如何使用Bootstrap创建表单
Mar 29 Javascript
angular或者js怎么确定选中ul中的哪几个li
Aug 16 Javascript
微信小程序实现根据字母选择城市功能
Aug 16 Javascript
JavaScript一元正号运算符示例代码
Jun 30 Javascript
javascript中正则表达式语法详解
Aug 07 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的list()的一步操作给一组变量进行赋值的使用
2011/05/18 PHP
PHP和Mysqlweb应用开发核心技术-第1部分 Php基础-2 php语言介绍
2011/07/03 PHP
浅析memcache启动以及telnet命令详解
2013/06/28 PHP
PHP时间格式控制符对照表分享
2013/07/23 PHP
MacOS下PHP7.1升级到PHP7.4.15的方法
2021/02/22 PHP
JavaScript 数组运用实现代码
2010/04/13 Javascript
Function.prototype.call.apply结合用法分析示例
2013/07/03 Javascript
jquery删除ID为sNews的tr元素的内容
2014/04/10 Javascript
浅谈javascript面向对象程序设计
2015/01/21 Javascript
JavaScript学习笔记之JS对象
2015/01/22 Javascript
JavaScript人脸识别技术及脸部识别JavaScript类库Tracking.js
2015/09/14 Javascript
Javascript技术栈中的四种依赖注入详解
2016/02/23 Javascript
jQuery插入节点和移动节点用法示例(insertAfter、insertBefore方法)
2016/09/08 Javascript
解决html input验证只能输入数字,不能输入其他的问题
2017/07/21 Javascript
基于vue实现可搜索下拉框定制组件
2020/03/26 Javascript
如何在vue里添加好看的lottie动画
2018/08/02 Javascript
vue项目部署到Apache服务器中遇到的问题解决
2018/08/24 Javascript
vue中的 $slot 获取插槽的节点实例
2019/11/12 Javascript
js函数柯里化的方法和作用实例分析
2020/04/11 Javascript
[01:31]完美与DOTA2历程
2014/07/31 DOTA
python数据结构之链表的实例讲解
2017/07/25 Python
对python中Matplotlib的坐标轴的坐标区间的设定实例讲解
2018/05/25 Python
Python编程中flask的简介与简单使用
2018/12/28 Python
Python3实现统计单词表中每个字母出现频率的方法示例
2019/01/28 Python
python接口自动化之ConfigParser配置文件的使用详解
2020/08/03 Python
详解python metaclass(元类)
2020/08/13 Python
Foot Locker意大利官网:全球领先的运动鞋和服装零售商
2017/05/30 全球购物
高档奢华时装在线目的地:FORWARD by elyse walker
2017/10/16 全球购物
Johnson Fitness澳大利亚:高级健身器材
2021/03/16 全球购物
如何利用find命令查找文件
2016/11/18 面试题
科技之星事迹材料
2014/06/02 职场文书
交警正风肃纪剖析材料
2014/10/29 职场文书
学术研讨会欢迎词
2015/01/26 职场文书
全国爱牙日活动总结
2015/02/05 职场文书
竞聘演讲报告:基本写作有哪些?附开头范文
2019/10/16 职场文书
golang goroutine顺序输出方式
2021/04/29 Golang