zoukankan      html  css  js  c++  java
  • 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上,另外还总结了一些自己最近在学习的阿里云上传图片等,会逐步更新,敬请指教!

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

      

  • 相关阅读:
    【题解】Killer Names($O(nlog n)$做法)
    【瞎讲】类欧几里得入土教程
    【题解】SDOI2010所驼门王的宝藏(强连通分量+优化建图)
    【题解】ARC101F Robots and Exits(DP转格路+树状数组优化DP)
    【题解】LOJ6060 Set(线性基)
    【题解】CF1056F Write the Contest(三分+贪心+DP)
    【题解】多少个$1$(exBSGS)
    【题解】幼儿园篮球题(范德蒙德卷积+斯特林+NTT)
    【题解】P1373 小a和uim之大逃离
    【题解】地精部落(DP)
  • 原文地址:https://www.cnblogs.com/simba-lkj/p/6606502.html
Copyright © 2011-2022 走看看