【发布时间】:2018-10-11 15:48:09
【问题描述】:
我正在使用计算来复制我的道具值并在我的组件中使用/改变它:
export default {
props: ['propOffer'],
computed: {
offer: {
get: function () {
return JSON.parse(JSON.stringify(this.propOffer))
},
set: function () {
this.offer
}
},
}
问题在于使用 setter。它不是反应性的。当我使用某种输入时,会有延迟,因此我计算出的报价不会立即更新。输入示例:
<v-text-field
label="Offer title"
v-model="offer.title"
></v-text-field>
这与我将 offer 声明为变量(未计算)时的行为完全相反 - 然后我的 {{offer}} 立即在 <template> 内发生变化
我该如何改进它?我是否设置了我的计算错误?
【问题讨论】:
-
您的 set 方法中的代码是否正确粘贴到您的问题中?在 setter 中只有
this.offer没有可观察到的效果 -
@Ferrybig 我也写了
set: function (value) {this.offer = value},但是效果一样
标签: vue.js