我相信这是一个非常简单的问题,但我已经花了大约3个小时来尝试解决它,但无济于事。如果我在Vue对象中绑定一个变量,例如
我目前正在尝试使用
data:{x:a}
,其中a是某个变量,然后我改变a
的值,我认为它会改变data.x
的值,不是吗?我目前正在尝试使用
v-if
/v-else
链,其中if语句涉及不等式,但即使在它应该评估为true
之后,显示的内容也没有改变。我编写了一些示例代码,并附带了一个JSFiddle。<div id="app">
<button v-if="unlocked">
Unlocked
</button>
<button v-else-if="a >= b">
Available
</button>
<button v-else>
Unavailable
</button>
<span>{{a}}</span>
</div>
而且JS:
var x = {
unlocked: false,
a: 0,
b: 10,
}
new Vue({
el: "#app",
data: {
unlocked: x.unlocked,
a: x.a,
b: x.b
},
});
function y() {
x.a++;
console.log(x.a);
}
var z = setInterval(y, 250);
它增加了变量,但文本和显示的按钮都没有改变。我对Vue有基本的误解吗?
data: {x: x}
,是吗?或者这是不好的做法? - Makairesx
是在替换组件的数据对象,而z
则是替换了一个事件处理程序,这都是在组件外部进行的。请查看此jsfiddle链接以了解如何正确执行。 - Danx.a
的内容,并且将有多个“组”需要依赖于x.a
的变化。我是否希望在变量更改时简单地包含一种方法来同时更改每个依赖的 Vue 对象?还是将其设置为对象会更好呢? - Makaires