Vue

Vue一级路由配置

2017-12-29  本文已影响8人  xlayzheng
作用
路由功能引入
一级路由的配置

合写的形式(用于理解):

    <body>
        <div id="box">
            <ul>
                <li><router-link to="/home">home</router-link></li>
                <li><router-link to="/news">news</router-link></li>
                <li><router-link to="/video">video</router-link></li>
            </ul>
            <!--
                使用路由完成切管时,不再用a标签
                使用<router-link to=""></router-link>来替代a
                to = 路由配置时,router数组中path的信息,需要写在此处

                
                <router-view></router-view>
                 用来占位,放你切换时要展示的内容
            -->
            <div class="stage">
                <router-view></router-view>
            </div>
        </div>
    </body>
---------------------------------js--------------------------------------
<script>
    var vm = new  Vue({
        el:'#box',
        data:{},
                                         //添加路由配置项
                                         //router:路由实例(对象)
                                         //设置路由对象的配置项
        router:new VueRouter({ 
                                         //路径信息存放在数组中
            routes:[
                                         //path:路径  ‘/小写单词’
               {path:'/home',component:{
                  template:'<h2>首页</h2>'
               }},
               {path:'/news',component:{
                  template:'<h2>新闻</h2>'
               }},
               {path:'/video',component:{
                  template:'<h2>影音</h2>'
               }}              
            ]
        })
    })
</script>

分写的形式:

{path:'/',redirect:'/home'}    //路由中配置默认显示页面
    <body>
        <div id="box">
            <ul>
                <li><router-link to="/home">home</router-link></li>
                <li><router-link to="/news">news</router-link></li>
                <li><router-link to="/hot">hot</router-link></li>
            </ul>
            <div class="stage">
                <router-view></router-view>
            </div>
        </div>
        
        <template id="home">
            <div class="homeWrap">
                <h2>首页</h2>
                <ul>
                    <li>line one</li>
                    <li>line two</li>
                    <li>line three</li>
                </ul>
            </div>
        </template>
    </body>
--------------------------js-------------------------------
<script>
    
    //1.准备路由所需要的模快(组件)
    //全局Vue下,有extend(),用来注册路由所需的模块(组件)
    //模块名称,首字母大写
    var Home=Vue.extend({
        template:'#home'
    });
    var News=Vue.extend({
        template:'<h1>news</h1>'
    }); 
    var Hot=Vue.extend({
        template:'<h1>hot</h1>'
    });
    //2.配置路径信息  (数组名随意,但经常叫routes)
    //应为后面实例里的配置项就叫routes,可以将routes:routes简写为routes
    var routes = [
       {path:'/',redirect:'/home'},    //配置默认显示页面
       {path:'/home',component:Home},
       {path:'/news',component:News},
       {path:'/hot',component:Hot},
    ]
    //3.创建路由对象
    //同理:我们创建的路由对象也可叫做router,这样在vue实例中定义配置项router:myrouter就可以简写成router了
    var myrouter=new VueRouter({
        //配置项
        //routes:存储路径信息的数组
        routes
    })
    //4.添加路由配置项到实例中
    var vm = new  Vue({
        el:'#box',
        data:{},
        router:myrouter
    })
</script>
通过name属性来指明加载组件
{
    path:'/Vinci',
    name:'two',
    component:{
       template:'#box2'
    }
 },

<router-link class='list-group-item' href='javascript:;' to='/Vinci'>达·芬奇</router-link>
改为:
<router-link class='list-group-item' href='javascript:;' :to='{name:"two"}'>达·芬奇</router-link>

上一篇下一篇

猜你喜欢

热点阅读