• vue学习路由嵌套


    1. 路由嵌套和参数传递

    传参的两种形式:
        a.查询字符串:login?name=tom&pwd=123
            {{$route.query}}
           ------ 
            
            <li><router-link to="/user/login?name=wushi&pass=123">用户登录</router-link></li>
            {{$route.query}}
            
        b.rest风格url:regist/alice/456
            {{$route.params}}
            
            
             <li><router-link to="/user/regist/qwe/123">用户注册</router-link></li>
             {{$route.params}}
             
        c.{{$route.path}}
        获取url路径     
    

    路由实例

    router.push({path:'/home'})  添加路由,功能上与<route-link>相同
    router.replace({path:'/home'}) 替换路由,不产生历史记录 
    

    完整示例代码

    <!DOCTYPE html>
    <html lang="en">
    <head>
        <meta charset="UTF-8">
    
        <script src="js/vue.js"></script>
        <script src="js/vue-router.js"></script>
        <title>Title</title>
    </head>
    <body>
    
    <div id="app">
        <router-link to="/home">主页</router-link>
        <router-link to="/user">用户</router-link>
    
        <router-view></router-view>
        <button @click="push">添加路由</button>
        <button @click="push">替换路由</button>
    </div>
    
    <template id="user">
        <div>
            <h1>用户信息</h1>
            <ul>
                <li><router-link to="/user/regist/qwe/123">用户注册</router-link></li>
                <li><router-link to="/user/login?name=wushi&pass=123">用户登录</router-link></li>
            </ul>
    
            <router-view></router-view>
        </div>
    
    
    
    
    </template>
    
    </body>
    
    
    <script>
        var home={
            template:'<h1>home</h1>'
        };
        var user={
            template:'#user'
        };
    
        let login={
            template:'<h1>登录中....{{$route.query}}</h1>'
        };
        let regist={
            template:"<h1>注册{{$route.params}}{{$route.path}}</h1>"
        }
        const routes1=[
            {path:'/home',component:home},
            {path:'/user',component:user,
            children:[
                {
                path: 'login',
                component: login,
                },
                {
                 path:'regist/:username/:pass',
                 component:regist
                }
            ]},
            // {path:'*',redirect:'/home'}
        ];
        const router = new VueRouter({
            routes:routes1,
        });
        new Vue({
            el:'#app',
            router,
            methods:{
                push(){
                    router.push({path:'/home'})
                }
            }
        })
    </script>
    
    
    
    </html>
    
    
  • 相关阅读:
    新建一个类并绑定一个activity
    关于fragment保存变量的问题
    关于使用别人方法的效率问题
    使用asynctask的问题
    关于整个头像更新问题(2)
    关于查找所需代码的问题
    静态变量的使用问题
    关于更换头像的整个过程理解
    fill_parent 和 match_parent区别
    关于ui修改的若干想法
  • 原文地址:https://www.cnblogs.com/wspblog/p/10310547.html
Copyright © 2020-2023  润新知