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 相关文章推荐
Jquey拖拽控件Draggable使用方法(asp.net环境)
Sep 28 Javascript
最好用的省市二级联动 原生js实现你值得拥有
Sep 22 Javascript
javascript实现实时输出当前的时间
Apr 27 Javascript
使用EVAL处理jqchart jquery 折线图返回数据无效的解决办法
Nov 26 Javascript
获取jqGrid中选择的行的数据
Nov 30 Javascript
完美实现js选项卡切换效果(一)
Mar 08 Javascript
Javascript ES6中数据类型Symbol的使用详解
May 02 Javascript
详解react-native WebView 返回处理(非回调方法可解决)
Feb 27 Javascript
Angular学习笔记之集成三方UI框架、控件的示例
Mar 23 Javascript
对VUE中的对象添加属性
Sep 18 Javascript
vue 添加和编辑用同一个表单,el-form表单提交后清空表单数据操作
Aug 03 Javascript
微信小程序淘宝首页双排图片布局排版代码(推荐)
Oct 29 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中this,self,parent的区别详解
2013/06/08 PHP
php处理静态页面:页面设置缓存时间实例
2017/06/22 PHP
PHP 进度条函数的简单实例
2017/09/19 PHP
基于swoole实现多人聊天室
2018/06/14 PHP
php传值和传引用的区别点总结
2019/11/19 PHP
在Javascript中定义对象类别
2006/12/22 Javascript
JavaScript多线程的实现方法
2007/05/08 Javascript
javascript下查找父节点的简单方法
2007/08/13 Javascript
TextArea不支持maxlength的解决办法(jquery)
2011/09/13 Javascript
jquery 获取自定义属性(attr和prop)的实现代码
2012/06/27 Javascript
JavaScript基础篇之变量作用域、传值、传址的简单介绍与实例
2013/06/29 Javascript
在服务端(Page.Write)调用自定义的JS方法详解
2013/08/09 Javascript
浅谈JavaScript中的字符编码转换问题
2015/07/07 Javascript
一种新的javascript对象创建方式Object.create()
2015/12/28 Javascript
js方法数据验证的简单实例
2016/09/17 Javascript
4个顶级开源JavaScript图表库
2018/09/29 Javascript
vue实现可视化可拖放的自定义表单的示例代码
2019/03/20 Javascript
JS 自执行函数原理及用法
2019/08/05 Javascript
JS操作字符串转数字的常见方法示例
2019/10/29 Javascript
JS立即执行的匿名函数用法分析
2019/11/04 Javascript
原生JS实现九宫格抽奖
2020/09/13 Javascript
JS实现鼠标移动拖尾
2020/12/27 Javascript
Python warning警告出现的原因及忽略方法
2020/01/31 Python
使用python tkinter开发一个爬取B站直播弹幕工具的实现代码
2021/02/07 Python
美国领先的家庭智能音响系统品牌:Sonos
2018/07/20 全球购物
寻找迷宫的一条出路,o通路;X:障碍
2016/07/10 面试题
大班开学家长寄语
2014/04/04 职场文书
小学学习雷锋活动总结
2014/07/03 职场文书
英语专业求职信
2014/07/08 职场文书
中秋节国旗下演讲稿
2014/09/13 职场文书
检讨书模板
2015/01/29 职场文书
2015年员工工作总结范文
2015/04/08 职场文书
戒赌保证书
2015/05/11 职场文书
创业计划书之密室逃脱
2019/11/08 职场文书
使用ICOM IC-R9500接收机同时测评十台收音机中波接收性能
2022/05/10 无线电
Mysql将字符串按照指定字符分割的正确方法
2022/05/30 MySQL