【发布时间】:2018-12-23 03:16:51
【问题描述】:
我有一个简单的设置。 “计算”用于检索数据。在一个简单的条件下,有时应该更改数据。然后我希望,数据的变化会再次触发“计算”。但这种情况并非如此。我当前的解决方案是 setTimeout,因为这会再次触发“计算”。
这里是codepen链接:https://codepen.io/MH88/pen/oMbBzZ?editors=1011
这里是代码-sn-p。
//HTML Output
<div id="app" class="l-container l-vPad--mid">
<h1>This should return 4</h1>
<h2>getNumber: {{getNumber}}</h2>
</div>
//Javascript logic
new Vue({
el: '#app',
data: {
number: 5
},
computed: {
getNumber() {
var x = this.number;
if(this.number == 5) {
//Why is this not working?As data changes, the computed should
//react to it again, no?
this.number--;
//This solution works but there needs to be something more eloquent
//setTimeout(() => {this.number--}, 0);
}
return x
}
}
});
期待一些想法。
【问题讨论】:
标签: javascript vue.js