我正在使用客戶端路由,并讓路由名稱成為物件的name。 我正在鏈接到Edit.vue組件,但是如果我想在該Edit組件中呈現age,我怎樣才能將其傳遞進來? 我知道我在路由器引數中可以訪問name,但我也想在該物件中獲得其他欄位,例如age。
App.vue
<div v-for="item in items">
<router-link :to="`/edit/${item.name}`"> 編輯${item.name} </router-link>
</div>
data() {
回傳 {
專案。[ {name: "Carl", age: 23}, { name: "James", age: 43}]
}
}
那么在我的路由器配置中,我有:
。const routes = [
{
path: "/",
name: "Home",
組件。家。
},
{
路徑。"/edit/:name",
名稱:"編輯"。
組件。() =>
import(/* webpackChunkName: "edit" */ "./views/Edit.vue")。
},
];
uj5u.com熱心網友回復:
狀態管理是關鍵詞,這可能對你的進一步研究有幫助。 特別是vuex,因為最流行的Vue狀態管理庫可能對你的情況有意義(https://www.npmjs.com/package/vuex)。那里有大量的教程。
如果您不想使用狀態管理庫,您可以通過將資料保存在 localstorage 或 cookies 中來自行實作其簡單版本。或者,如果只是關于年齡,你也可以將其添加到查詢引數中。
對于一個類似的問題,也有一個描述得相當好的SO答案。Vue:不同頁面之間的共享資料
uj5u.com熱心網友回復:
這不是最好的方法。
你可以實作/edit/:name/:age。但是如果你訪問 URL /edit/Carl/999,會發生什么?
你應該通過一個唯一的用戶ID來獲取資料,如姓名和年齡,而不是。edit/:userid。
轉載請註明出處,本文鏈接:https://www.uj5u.com/qiye/327399.html
標籤:
