【发布时间】:2020-05-02 01:39:28
【问题描述】:
所以我的子组件中有以下代码
props: {
prop_accounts: Array,
prop_pushing_destination: String,
prop_selected_account: String,
prop_selected: Boolean,
shop_settings: Object,
name_of_selected_account_field: String
},
data() {
return {
accounts: this._.cloneDeep(this.prop_accounts),
pushing_destination: this._.cloneDeep(this.prop_pushing_destination),
selected_account: this._.cloneDeep(this.prop_selected_account),
selected: this._.cloneDeep(this.prop_selected)
}
},
父道具传递所有道具和所有接缝以正常工作,但父道具不断对后端进行采样以进行更改,如果他们获取它,则会更新子道具,尽管我可以看到道具已更改,但数据保持不变现在,如果我直接抛出数据并使用道具一切正常,但我收到以下警告
避免直接修改 prop,因为每当父组件重新渲染时,该值都会被覆盖。相反,使用基于道具值的数据或计算属性。正在变异的道具:“selected_account”
【问题讨论】:
-
你到底想在这里做什么?这些值是如何使用的?我想不出你需要深度克隆道具的任何充分理由。
-
props 是组件的初始数据,可以更改此数据,例如可以更改所选帐户。自从改变以来,道具就是一种我正在克隆它们的蚂蚁模式
标签: vue.js