我注意到,在 Vue2 中,您可以将元素绑定到类的属性,并且当此类属性从 Vue 世界之外的某个位置更改时,该元素将会更新,但这在 Vue3 中似乎不可能。 p>
我在这里创建了两个简单的示例来说明我的意思:
Vue2:https://codesandbox.io/s/vue2-6hztv
Vue3:https://codesandbox.io/s/vue3-o2rfn
有一个类有一个内部计时器,它将增加类字段。在 Vue2 中,绑定到 myClass.field 的元素已正确更新,但在 Vue3 中没有任何反应。
我的问题是
<强>1。为什么这里Vue2和Vue3有区别?
<强>2。我怎样才能实现类似 Vue2 示例但在 Vue3 中的效果?
请注意,我无法在 Vue 生命周期方法中运行计时器。类字段需要自行更新。
这是不起作用的 Vue3 代码:
HTML:
{{ myClass.field }}
Javascript:
class MyClass {
field = 0;
constructor() {
setInterval(() => {
this.field++;
}, 1000);
}
}
export default {
data() {
return {
myClass: new MyClass(),
};
},
}; Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号