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

vue 獲取路由query

傅智翔2年前8瀏覽0評論

如何獲取Vue路由query?在許多應用中,我們需要從URL中動態獲取參數以便我們可以在組件中使用它。這些參數可以包含在查詢字符串中。我們可以使用Vue Router的$route對象來獲取查詢參數。

// 實例化Vue Router
const router = new VueRouter({
routes: [
{
path: '/search',
name: 'search',
component: SearchResults
}
]
})
// 獲取查詢字符串
const searchQuery = this.$route.query.query

在上面的代碼中,我們將路由器實例化并創建一個路由對象/搜索。SearchResults組件可以使用查詢參數作為組件的props。

// 使用查詢參數作為組件的props
{
path: '/search',
name: 'search',
component: SearchResults,
props: (route) =>({ query: route.query.query })
}

在上面的代碼中,我們使用prop選項將查詢參數傳遞給SearchResults組件。我們使用箭頭函數來返回一個對象,在這個對象中我們將查詢參數作為名為“ query” 的屬性傳遞。

如果路由沒有查詢參數,我們可以使用默認值:

// 添加默認值
{
path: '/search',
name: 'search',
component: SearchResults,
props: (route) =>({
query: route.query.query || 'default query'
})
}

在上面的代碼中,如果沒有查詢參數,我們將使用默認值“default query”。

我們還可以在組件中使用$router屬性來生成帶有查詢參數的URL:

// 生成帶有查詢參數的URL
this.$router.push({
name: 'search',
query: { query: this.query }
})

在上面的代碼中,我們使用$router的push方法將新的路徑添加到路由器。我們使用name選項指定路由,然后使用query選項傳遞查詢參數。

如果我們想要在URL中保留現有的查詢參數,我們可以將新查詢參數與現有的查詢參數合并:

// 合并查詢參數
this.$router.push({
name: 'search',
query: Object.assign({}, this.$route.query, { page: 2 })
})

在上面的代碼中,我們使用Object.assign()方法將兩個對象合并。第一個對象是現有的查詢參數,第二個對象是新的查詢參數。

獲取Vue路由query非常容易,并且在許多應用程序中都是必需的。使用上面的代碼,您可以輕松地從URL中動態獲取查詢參數。