Vue路由

作者: 长度在3厘米左右 | 来源:发表于2018-08-13 21:37 被阅读0次

    路由

    第一步

    引入路由文件--->  vue-router.js

    第二步

    准备路由所需组件,赋值给变量

    第三步

    创建路由对象,在这个对象里去配置路由对象

    var router = new VueRouter({})  这里new的对象是vue-router.js中封装好的只能用VueRouter

    第四步

    通过routes属性配置路由规则,它是一个数组,数组中存放对象,每个对象对应一条规则,而且每个对象里面都包含name(路由规则的名称)/path(表示路由跳转路径)/component(表示路由对应的组件)

    第五步

    在vue实例中注入路由,这样整个程序都拥有路由了

    var vm = new Vue({

                el: '#app',

                // 第五步,在vue实例中注入路由,这样整个应用程序都会拥有路由了

                router,

                data: {

                }

            })

    第六步

    通过<router-view></router-view>"挖坑",路径匹配的组件会渲染到这个"坑"里来

    备注:vue路由中通过router-link去做跳转,塔有一个to属性,to属性的值必须和path中的路径对应.router-link将来会在页面中被渲染成a标签,它的to属性会被渲染成a标签的href属性,但它的值前面会加一个#变为锚点

    路由的参数

    <li><router-link to="/product/1">蔬菜</router-link></li>

    这里的路径后面的参数要在路由规则中path去设定

    用path:"/product/:id"    ------------->  :(冒号)加参数名

    在html中获取路由参数-->通过@route.params.参数名

    在js中湖区路由参数-->通过  this.$route.params.参数名

    监听路由参数变化

    watch:{

      $route(to,from){}

    }

    用 $route(to,from){}方法监听 两个参数 to   from分别表示要去的路由对象和从哪个路由对象来的

    注: if(to.params.id ==="1"){

                            this.zx="茄子,辣子,西红柿,再加一碗蒜苗子!"

                        }

    这里拿(to.params.id ==="1")判断第一次点击是无法监听的,因为第一次 才给to才获取到值无法判断

    可以再mounted函数中用 (this.$route.params.id ==="1")先做判断渲染

    相关文章

      网友评论

          本文标题:Vue路由

          本文链接:https://www.haomeiwen.com/subject/xikpbftx.html