js操作路由(即编程式的导航)进行页面跳转: 
    1. 返回/前进一页:

返回:this.$router.go(-1)、this.$router.back()。
前进:this.$router.go(1)

    2. 跳转到其他页:
        

//params只能用name来引入路由,类似于post,在浏览器地址栏中不显示参数,
//而query 要用path引入,似于我们ajax中get传参,在浏览器地址栏中显示参数
this.$router.push("/parent")
this.$router.push({path:"/parent",query:{name:"ace"}) //即浏览历史纪录保存着,query是参数。获取参数:this.$route.query.name
this.$router.push({path:`/argu/${name}`})  //es6带参数跳转,针对router.js中配置path: '/argu/:name',。获取参数:this.$route.query.name
this.$router.push({name:"parent",params:{name:"ace"}) //带参数跳转。获取参数:this.$route.params.name


    3. 用其他页替换本页:this.$router.replace("/about")或this.$router.replace({name:"parent"}),即浏览历史纪录没有了。 
    4. 基于动态路由的页面(path: '/argu/:name')传值。 

{
    path: '/argu/:name',
    props:true,             //表示允许Argu.vue组件中props:{}中接受name参数值,然后可以直接渲染在页面{{name}}
    component: () => import( './views/argu.vue' )  
}

     5. 基于普通页面传参,对象模式传参。
 

{
    path: '/about',
    props:{
        food:"香蕉"
    },                      //表示允许about.vue组件中props:{}中接受food参数值,然后可以直接渲染在页面{{food}}
    component: () => import( './views/argu.vue')  
}

     6. 基于普通页面传参,函数模式传参。   

{
    path: '/parent',
    props: route=>{
        return {
            food:route.query.food
        }
    },                      //表示允许parent.vue组件中props:{}中接受food参数值,然后可以直接渲染在页面{{food}}
    component: () => import( './views/argu.vue')  
}


 

Logo

前往低代码交流专区

更多推荐