Vue动态路由 Get传值

main.js

import Vue from 'vue';
import App from './App.vue';



import VueRouter from 'vue-router';

Vue.use(VueRouter);


//1.创建组件


import Home from './components/Home.vue';

import News from './components/News.vue';

import Content from './components/Content.vue';

import Pcontent from './components/Pcontent.vue';


//2.配置路由   注意:名字

const routes = [
  { path: '/home', component: Home },
  { path: '/news', component: News },

  { path: '/content/:aid', component: Content },   /*动态路由*/

  { path: '/pcontent', component: Pcontent },


  { path: '*', redirect: '/home' }   /*默认跳转路由*/
]


//3.实例化VueRouter  注意:名字

const router = new VueRouter({
  routes // (缩写)相当于 routes: routes
})




//4、挂载路由

new Vue({
  el: '#app',
  router,
  render: h => h(App)
})


//5 <router-view></router-view> 放在 App.vue

app.vue

<template>


  <div id="app"> 


    <router-link to="/home">首页</router-link>
    <router-link to="/news">新闻</router-link>

    <hr>

       <router-view></router-view>

  </div>
</template>

<script>


/*1、不同路由传值:动态路由

    1、配置动态路由

       routes: [
        // 动态路径参数 以冒号开头
        { path: '/user/:id', component: User }
      ]


    2、在对应的页面

      this.$route.params获取动态路由的值


*/

   export default {     
      data () { 
        return {
         
         msg:'你好vue'
        }
      }
     
    }
</script>
<style lang="scss">


</style>

home.vue

<template>
    <!-- 所有的内容要被根节点包含起来 -->
    <div id="home">    
       我是首页组件

        <ul>
            <li v-for="(item,key) in list">
                <router-link :to="'/pcontent?id='+key">{{key}}--{{item}}</router-link>
            </li>
        </ul>
    </div>
</template>


<script>
    export default{
        data(){
            return {               
               msg:'我是一个home组件',
               list:['商品111111','商品222222','商品333333']    
            }
        }
    }

</script>

<style lang="scss" scoped>
    
</style>

vews.vue

<template>    
    <div id="news">    
       我是新闻组件   


     <ul>
        <li v-for="(item,key) in list">
             <router-link :to="'/content/'+key">{{key}}--{{item}}</router-link>
        </li>
     </ul>
          
    </div>

</template>


<script>

    export default{
        data(){
            return {               
               msg:'我是一个新闻组件'  ,    
               list:['111111','222222','333333']        
            }
        }
    }

</script>

<style lang="scss" scoped>
    
</style>

 

posted @ 2020-09-06 14:14  maxweber  阅读(228)  评论(0编辑  收藏  举报