• vue2.0路由-路由嵌套


    vue一个重要的方面就是路由,下面是自己写的一个路由的例子:

    1、引入依赖库就不必再说

    2、创建组件

    两种写法

    第一种:间接
    
        <template id="home">
    	<div>
    		<h1>Home</h1>
    		<p>{{msg}}</p>
    	</div>
       </template>
    
        var About = Vue.extend({
                template: '#about'
            });
    第二种:直接
            var Out = Vue.extend({
                template: '<div><h1>Out</h1><p>This is the tutorial out vue-router.</p></div>'
            });
    

    3、创建 router 实例,传 'routes'路由映射配置

      

     var router = new VueRouter({
              routes: [
                { path: '/路径', component: 组件名 },
                  { path: '/', component:  组件名}, //设置默认路径
          { path: "*", component:Home }//路径不存在          
        ] });

    4、创建和挂载根实例。记得要通过 router 配置参数注入路由,从而让整个应用都有路由功能

     var vm = new Vue({
                  router: router 
        }).$mount('#app');
    

    整体的demo

    <!DOCTYPE html>
    <html lang="en">
    <head>
        <meta charset="UTF-8">
        <title>hello world</title>
    </head>
    <body>
        <div id="app">
            <div>
                <!-- 4、<router-link>默认会被渲染成一个 `<a>` 标签 ,to指令跳转到指定路径 -->
                <router-link to="/home">Go to Home</router-link>
                <router-link to="/about">Go to About</router-link>
                <router-link to="/out">Go to Out</router-link>
            </div>
    
            <!-- 5、在页面上使用<router-view></router-view>标签,用于渲染匹配的组件 -->
            <!--这里显示的是展示的界面-->
            <router-view></router-view>            
        </div>
        
        <template id="home">
    			<div>
    				<h1>Home</h1>
    				<p>{{msg}}</p>
    			</div>
    	</template>
     <template id="about">
    			<div>
    				<h1>about</h1>
    				<p>This is the tutorial about vue-router.</p>
    			</div>
    	</template>
    	
    		
    
        <!-- 0、引入依赖库 -->
        <script src="../js/vue2.0.js" type="text/javascript" charset="utf-8"></script>
    <script src="lib/vue-router.min.js" type="text/javascript" charset="utf-8"></script>
        <script type="text/javascript">
            /* 1、创建组件 */
            var Home = Vue.extend({
                template: '#home',
                data: function() {
                    return {
                        msg: 'Hello, vue router!'
                    }
                }
            });
            var About = Vue.extend({
                template: '#about'
            });
            var Out = Vue.extend({
                template: '<div><h1>Out</h1><p>This is the tutorial out vue-router.</p></div>'
            });
    
            // 2. 创建 router 实例,然后传 `routes`路由映射 配置
            var router = new VueRouter({
              routes: [
                { path: '/home', component: Home },
                  { path: '/about', component: About },
                   { path: '/out', component: Out },
                  {path: '/', component: Home },//设置默认路径
              	{ path: "*", component:Home }//路径不存在
              
              ]
            });
    
            // 3. 创建和挂载根实例。记得要通过 router 配置参数注入路由,从而让整个应用都有路由功能
            var vm = new Vue({
                  router: router 
            }).$mount('#app');
    
            // 现在,应用已经启动了!
        </script>
    </body>
    </html>
    

      关于路由嵌套

    在配置routes映射时添加children配置

    如下:

    var router = new VueRouter({
    	routes:[
    		{path:'/home',component:Home,
    		 children:[//子路由
    		      {path:'news',component:News},
    		      {path:'change',component:change}				
    		]},
    		{path:'/me',component:Me},
    		{path:'/',component:Me}
    		]
    	  })
    

    关于具体的demo可以参考GitHub上,另外还总结了一些自己最近在学习的阿里云上传图片等,会逐步更新,敬请指教!

     转载请注明出处,谢谢合作

      

  • 相关阅读:
    bzoj1072【SCOI2007】排列perm
    【APIO2012】【BZOJ2809】派遣dispatching
    《失控》读书笔记
    素养与修养
    [Android6.0][RK3399] 电池系统(三)电量计 CW2015 驱动流程分析【转】
    [IMX6DL][Android4.4] 电池低电量告警提示【转】
    高清摄像头MIPI CSI2接口浅解【转】
    RK3288获取摄像头的Sensor ID【原创】
    mipi LCD 的CLK时钟频率与显示分辨率及帧率的关系【转】
    android简易双屏支持【转】
  • 原文地址:https://www.cnblogs.com/simba-lkj/p/6606502.html
Copyright © 2020-2023  润新知