2018-8-30-router的自我反思与总结一

该博客围绕Vue项目展开,主要介绍了在main.js中进行路由配置的相关内容。包括引入必要插件、创建路由对象并配置规则,还涉及不同页面组件的路由切换。此外,详细讲解了路由属性,如通过$route获取查询字符串和参数等。

一、在 main.js 中进行的思考

//引入一堆
import Vue from 'vue';
import VueRouter from 'vue-router';

//主体
import App from './components/app.vue';
import Home from './components/home.vue'

//安装插件,挂载属性
Vue.use(VueRouter);

//创建路由对象并配置路由规则
let router = new VueRouter({
  
    routes: [
        //一个个对象
        { path: '/home', component: Home }

    ]
});

//new Vue 启动
new Vue({
    el: '#app',
    //让vue知道我们的路由规则
    router: router, //可以简写router
    render: c => c(App),
})

一行行的读代码,发现也就是这么回事。

二、main.js 中的深入思考

//引入一堆
import Vue from 'vue';
import VueRouter from 'vue-router';

//主体
import App from './components/app.vue';
//路由切换页面
import List from './components/list.vue'
import Detail from './components/detail.vue'

//安装插件,挂载属性
Vue.use(VueRouter);

//创建路由对象并配置路由规则
let router = new VueRouter({
    //routes
    routes: [
        //一个个对象
        { name: 'list', path: '/list', component: List },
        //以下规则匹配  /detail? xxx = xx & xxx = xxx 多少个查询字符串都不影响
        //查询字符串path不用改
        { name: 'detail', path: '/detail', component: Detail },
        //  {name:'detail',params:{id:index}  } -> /detail/12
        { name: 'detail', path: '/detail/:id', component: Detail }

    ]
});

//new Vue 启动
new Vue({
    el: '#app',
    //让vue知道我们的路由规则
    router, //可以简写router
    render: c => c(App),
})

三、细节的路由属性

<template>
    <div>
        详情
    </div>
</template>
<script>
    export default {
        data(){
            return {

            }
        },

       //DOM还未生成
        created(){
            //获取路由参数
            //vue-router中挂载两个对象的属性
            //$route(信息数据)  $router (功能函数)


            console.log(this.$route.query);
            console.log(this.$route.params);
        }

        //已经将数据装载到页面上去了,DOM、已经生成
        ,mounted(){

        }
    }
</script>
<style>
    
</style>

***********************************

<template>
    <div>
        查询字符串列表:
        <ul>
            <li v-for="(hero,index) in heros" :key="index">
                    {{hero.name}}  
                    <!-- 1:去哪里  /detail?id=12 -->
                    <router-link :to="{name:'detail',query:{id:index}  }">查看</router-link>
            </li>
        </ul>
       <!--   path列表:
        <ul>
            <li v-for="(hero,index) in heros" :key="index">
                    {{hero.name}}  
                    1:去哪里  /detail/12
                    <router-link :to="{name:'detail',params:{id:index}  }">查看</router-link>
            </li>
        </ul> -->
    </div>
</template>
<script>
    export default {
        data(){
            return {
                heros:[{
                    name:'李白'
                },{
                    name:'王昭君'
                }]
            }
        }
    }
</script>
<style>
</style>

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值