色婷婷狠狠18禁久久YY,CHINESE性内射高清国产,国产女人18毛片水真多1,国产AV在线观看

vue 路由參數接收

李中冰1年前7瀏覽0評論

對于Vue框架中的路由功能,我們經常需要給路由傳遞參數以便后續處理。在Vue中的路由參數有兩種方式,一種是params,另一種是query。params是路徑參數,以冒號開頭。query是查詢參數,以問號開頭。下面將詳細介紹如何使用路由參數接收參數。

在Vue中使用路由參數非常的簡單,只需要在路由路徑中定義兩個冒號和參數名,如下所示:

const router = new VueRouter({
routes: [
{
path: '/user/:id',          // 路徑中定義冒號+參數名
component: User
}
]
})

在上面的代碼中,我們定義了一個路徑為/user/:id的路由,并指向了一個叫做User的組件。

當URL為/user/123時,這里的123就是路由參數。我們可以在在組件中使用$route.params.id來接收路由參數id的值:

export default {
mounted() {
console.log(this.$route.params.id)   // 打印路由參數id的值
}
}

當路由參數發生變化時,Vue會自動將其更新。但是,如果同一個路由組件通過不同的路徑被訪問時,Vue不會自動更新組件。這時可以通過監聽$route的變化來實現更新,如下所示:

export default {
watch: {
'$route': function(to, from) {      // 監聽$route變化
console.log(to.params.id)         // 打印新的路由參數id的值
console.log(from.params.id)       // 打印舊的路由參數id的值
}
}
}

除了params之外,Vue還提供了另外一種路由參數方式,那就是query。query是在URL中使用的鍵值對,以問號開頭。在路由路徑中不需要定義,只需要在跳轉時加上參數即可。

User

在上面的代碼中,我們使用了組件來實現跳轉,同時通過query參數傳遞了一個id為123的值。我們可以在組件中使用$route.query.id來接收路由參數id的值:

export default {
mounted() {
console.log(this.$route.query.id)   // 打印路由參數id的值
}
}

需要注意的是,query參數傳遞的是字符串類型的值。如果需要傳遞其他類型的值,需要進行類型轉換。另外,在跳轉時,使用query參數會產生URL參數,有可能會對SEO有所影響。

總之,在Vue框架中使用路由參數接收參數非常簡單,我們只需要在路由路徑中定義參數,然后在組件中使用$route.params或$route.query來接收參數即可。