• vue-router


    安装:
    https://www.npmjs.com/package/vue-router
    npm i vue-router

    动态路由:
    在需要在router文件夹的index.js先注册好需要的路由页面
    并且设置好动态路由之后的地址展示

    <router-link v-bind:to="{name:'cart',params:{id:12356}}">jump cart page</router-link>
          <router-link :to="{name:'faq',params:{id:456,name:'chen'}}">faq page</router-link>
    

    在跳转之后页面中我们可以接收我们动态传过来的参数,
    使用$route.params.id


    嵌套路由:
    将需要嵌套的子路由定义好在router文件夹的index.js

    import productName from '@/view/ProductName.vue'
    import descible from '@/view/Descible.vue'
    

    然后配置:

    routes: [
        {
            path:'/data',
            name:'data',
            component:data,
          children:[{
              path:'ProductName',//这里直接写子路由的名字,不用斜杠
              name:'ProductName',
              component:productName
          },
            {
              path:'Descible',
              name:'Descible',
              component:descible
           
          }
          ]
        },
    

    在嵌套的主页面写好路由链接

    <router-link to="/data/ProductName">productName link</router-link>//注意:to的链接要加上父路由data,
          <router-link to="/data/Descible">descible link</router-link>
    

    编程式路由:
    通过js来实现页面的跳转
    1.直接跳转
    优先在路由配置index.js注册好对应的路由

    import cart from ‘@/view/Cart.vue’
    {
    path:’/Cart’,
    name:’cart’,
    component:cart
    },
    

    然后在需要的页面注册一个方法来实现跳转

    <button @click="jump">jump cart page</button>在button加一个点击事件,
    jump(){
    this.$router.push(‘/cart’);
    }
    

    2.带参数跳转
    同样还是记得注册好路由页面index.js

    语法:
    $router.push({path:”name?a=123″})或则$router.push({path:”name”,query:{a:123}})
    
    this.$router.push({path:'/cart?id=123'});
    
    跳转之后的页面可以通过{{$route.query.id}}获取,在方法里则this.$route.query.id
    
    

    3.接收传入的参数

    this.$router.go(-1);//相当于浏览器后退一步
    

    命名路由:
    给路由起不同的名字,根据名字进行匹配

    <router-link v-bind:to="{name:'cart'>jump cart page</router-link> //记得用v-bind:to
    <router-link v-bind:to="{name:'cart',params:{id:12356}}">jump cart page</router-link> 当路由是动态路由的时候可以传参
     {
          path:'/Cart/:id',
          name:'cart',
          component:cart
        },
    

    命名视图:给不同的router-view定义名字,然后进行对应的组件的渲染
    在app.vue页面中,相当于引入不同组件到一个页面上

    <transition name="router-anim" >
            <router-view name="product"></router-view>
        </transition>
     
    然后在路由配置index.js里面进行配置:
      routes: [
        {
          path:'/',
          name:'main1',
          components:{//注意:这里是components,末尾有s的
            default:main1,//这个是默认路由视图渲染
            product:productName,//命名视图渲染
            descible:descible
          }
          },
    
  • 相关阅读:
    java System.getProperty()参数大全
    元类(转自https://zhuanlan.zhihu.com/p/23887627)
    正则(高级)(转)
    正则(转)
    机器学习入门之房价预测(线性回归)
    python字节码(转)
    在虚拟机中搭建django,通过外网访问
    django框架入门
    linux下创建虚拟环境(转)
    PAT1005
  • 原文地址:https://www.cnblogs.com/cyany/p/9157972.html
Copyright © 2020-2023  润新知