【发布时间】:2019-08-18 12:33:51
【问题描述】:
我有一个包含 computed 属性的 Vue 对象。在mounted 函数中,我为一个事件设置了侦听器。当我正在监听的事件被触发时,计算属性的函数被调用,但它在事件处理程序开始其进程之前被调用。对对象中计算属性的唯一其他引用是观察者。调用堆栈仅显示调用计算属性之前的 vue.js 进程。据我所知,计算属性所依赖的值没有被更改。
new Vue({
el: '#element',
data: {
info: [],
},
computed: {
compVal: function () {
.
.
.
},
d
},
watch: {
compVal: function (dataSet) {
.
.
.
}
},
mounted: function () {
var vm = this;
window.addEventListener("datachange", function (e) {
vm.info = e.newInfo;
});
}})
有人可以帮我弄清楚为什么要调用它,以便我可以阻止它吗?或者至少帮助我确定没有依赖值发生变化,以便我可以提前返回而不是完成函数?
【问题讨论】:
-
请发布足够的代码来重现问题。
-
已添加。就像我说的,
compVal在事件被触发时被调用(它由页面上其他地方的表单元素触发),但在事件处理程序被调用之前。
标签: javascript vue.js events computed-properties