Vue一级路由配置

作用
  • 根据url锚点路径,在容器中加载不同的模块
  • 完成SPA(single page application)的开发
路由功能引入
  • vue-router.js
一级路由的配置
  • 引入vue-router.js库
  • 创建路由所需模块

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

    <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>

分写的形式:

  • 1.准备路由所需要的模快(组件)
    • 全局Vue下,有extend(),用来注册路由所需的模块(组件)
    • 模块名称,首字母大写
  • 2.配置路径信息 (数组形式)
    • 数组名随意,但经常叫routes
    • 因为后面路由对象里的配置项就叫routes,可以将routes:routes简写为routes
  • 3.创建路由对象
    • 同理:我们创建的路由对象也可叫做router,这样在vue实例中定义配置项router:myrouter就可以简写成router了
  • 4.添加路由配置项到实例中,与el、data等配置项同级
{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>

  • to='/Vinci':to='{name:"two"}'
    (动态绑定to属性,值为一个包含name键值对的对象)
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 135,026评论 19 139
  • 1路由,其实就是指向的意思,当我点击页面上的home按钮时,页面中就要显示home的内容,如果点击页面上的abou...
    你好陌生人丶阅读 1,664评论 0 6
  • 英國管 並非源自英國,也非號類,而是低音或中音的雙簧管。 長笛 音域高,寬廣,可以演奏連串快速音符。
    咔辣辣阅读 107评论 0 0
  • 空城无恨无有期,湖光笑影水中里。 子须彼待亲自亲,江夜明珠何落英。 拂袖弄墨不多年,文藏书阁尘浸染。 夜半听雨潇潇...
    拓疯阅读 205评论 0 1
  • (一)努力使人进步。享受使人更进步。 遇到小林子的时候,就听说这是个努力勤奋的人。 她本专业是动漫,所以她画得非常...
    莲笙吖阅读 437评论 0 1