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代码
Dec 04 Javascript
JavaScript的document对象和window对象详解
Dec 30 Javascript
JQuery加载图片自适应固定大小的DIV
Sep 12 Javascript
ECMAScript 5中的属性描述符详解
Mar 02 Javascript
原生js结合html5制作小飞龙的简易跳球
Mar 30 Javascript
基于Node.js的强大爬虫 能直接发布抓取的文章哦
Jan 10 Javascript
Angular2学习笔记——详解路由器模型(Router)
Dec 02 Javascript
9种使用Chrome Firefox 自带调试工具调试javascript技巧
Dec 22 Javascript
VUE路由动态加载实例代码讲解
Aug 26 Javascript
node.js中事件触发器events的使用方法实例分析
Nov 23 Javascript
基于Vue+Webpack拆分路由文件实现管理
Nov 16 Javascript
javascript canvas实现雨滴效果
Jun 09 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
Linux下PHP安装mcrypt扩展模块笔记
2014/09/10 PHP
PHP模拟post提交数据方法汇总
2016/02/16 PHP
ThinkPHP3.2.3框架实现执行原生SQL语句的方法示例
2019/04/03 PHP
用Juery网页选项卡实现代码
2011/06/13 Javascript
JS getAttribute和setAttribute(取得和设置属性)的使用介绍
2013/07/10 Javascript
JS实现点击图片在当前页面放大并可关闭的漂亮效果
2013/10/18 Javascript
CSS+JS实现点击文字弹出定时自动关闭DIV层菜单的方法
2015/05/12 Javascript
简介JavaScript中的sub()方法的使用
2015/06/08 Javascript
js实现带圆角的多级下拉菜单效果
2015/08/28 Javascript
js获取form表单所有数据的简单方法
2016/08/18 Javascript
jquery设置css样式的多种方法(总结)
2017/02/21 Javascript
js实现rem自动匹配计算font-size的示例
2017/11/18 Javascript
IE11下使用canvas.toDataURL报SecurityError错误的解决方法
2017/11/19 Javascript
使用vue的transition完成滑动过渡的示例代码
2018/06/25 Javascript
JavaScript Canvas实现验证码
2020/08/02 Javascript
为什么要使用Vuex的介绍
2019/01/19 Javascript
为vue项目自动设置请求状态的配置方法
2019/06/09 Javascript
nodejs语言实现验证码生成功能的示例代码
2019/10/13 NodeJs
解决$store.getters调用不执行的问题
2019/11/08 Javascript
Python全局变量用法实例分析
2016/07/19 Python
python使用itchat模块给心爱的人每天发天气预报
2019/11/25 Python
Pycharm配置PyQt5环境的教程
2020/04/02 Python
浅谈移动端网页图片预加载方案
2018/11/05 HTML / CSS
维也纳通行证:Vienna PASS
2019/07/18 全球购物
语文教育专业应届生求职信
2013/11/23 职场文书
甲方资料员岗位职责
2013/12/13 职场文书
学生安全教育材料
2014/02/14 职场文书
计算机求职自荐信范文
2014/04/19 职场文书
小学五年级学生评语
2014/04/22 职场文书
小学先进集体事迹材料
2014/05/31 职场文书
公司法人授权委托书范本
2014/09/12 职场文书
学校政风行风评议心得体会
2014/10/21 职场文书
元宵节晚会主持词
2015/07/01 职场文书
2016入党积极分子心得体会
2016/01/06 职场文书
Win10加载疑难解答时出错发生意外错误的解决方法
2022/07/07 数码科技
python中validators库的使用方法详解
2022/09/23 Python