Javascript Vue将对象推入数组并使其不可变

Javascript Vue将对象推入数组并使其不可变,javascript,vue.js,Javascript,Vue.js,我对Vue/Javascript非常陌生,所以这可能是一个非常简单的答案。我有一个组件,它打开一个模式,您可以在其中选择要添加到订单中的产品。问题是,当我修改价格时,我会重新打开所有价格重置的模式 如何修改pickProduct功能,以便在重新打开模式时保持更改 您在价格输入中使用的是:value,这实际上不会更改您正在编辑的对象的值。所以这与不变性无关。要实际绑定对象的值,请使用v-model而不是value 因此,改变这一点: <input type="text" :value="i

我对Vue/Javascript非常陌生,所以这可能是一个非常简单的答案。我有一个组件,它打开一个模式,您可以在其中选择要添加到订单中的产品。问题是,当我修改价格时,我会重新打开所有价格重置的模式

如何修改
pickProduct
功能,以便在重新打开模式时保持更改


您在价格输入中使用的是
:value
,这实际上不会更改您正在编辑的对象的值。所以这与不变性无关。要实际绑定对象的值,请使用
v-model
而不是value

因此,改变这一点:

<input type="text" :value="item.price" />



您可以使用将数据保存到您的存储中,以处理对模式状态的管理。当打开模式时,它访问应用程序状态的变量,并将其更新为NeeDeD。如果使用ES6语法,则可以考虑<代码> const NexPosie= {…THE.DefftLink,…产品} /代码>我不确定这是否正是您所看到的,但是您可以通过使用method@EmīlsGulbis这只是一个建议吗?不幸的是,结果是对更干净的代码提出了同样的建议,因为@Evanbechtool已经为您提供了针对这种情况的最佳建议
<input type="text" :value="item.price" />
<input type="text" v-model="item.price" />