我有一個 Vue 組件(一個表),它通過 props 接收一組物件。現在我想洗掉、添加或編輯這個陣列中的一些條目,但我不能這樣做,因為道具是準備好的。所以我想在收到屬性后,我只是將那個東西復制到所述組件的資料部分中的一個物件中,我應該能夠編輯它,但我還沒有找到如何去做。
說items是我的財產,ditems是我的資料物件
data() {
return { ditems: this.items };
},
不作業,也不是
data() {
let pitems = Object.assign({}, this.items);
return { ditems };
},
所以我的想法不多了,我希望有人能幫助我提前感謝您的時間
uj5u.com熱心網友回復:
當您嘗試編輯 props 值時,您可以使用Object.assign()or 來復制 props 是正確的JSON.parse(JSON.stringify())(順便說一句,我建議使用 JSON 決議方式)。
然而,如果prop 資料最初可能是空的,并且在 api 請求或其他東西之后附帶資料,那么最好將重復方法放在watch而不是 中data()。所以你最好這樣做:
data() {
return {
ditems: {}
}
}
watch: {
items: {
handler(val) {
if (Object.keys(val).length) { // check whether items data is empty
this.ditems = JSON.parse(JSON.stringify(val))
}
},
deep: true
}
}
順便說一下,你用的是什么好像Vue2,因為Vue3使用setup()代替data()。
轉載請註明出處,本文鏈接:https://www.uj5u.com/yidong/364344.html
標籤:javascript 节点.js 打字稿 Vue.js Vuejs3
