【发布时间】:2019-06-24 20:55:58
【问题描述】:
我有一个初学者问题。可能是我太傻了。
情况: 我有一个界面,我可以通过滑块设置闹钟计时器值。每次更新值时,都会将其写入文件。 但是当我设置一个间隔时,我无法从回调函数访问被监视的变量,请参阅 timeCallback()。
Vue.component('alarm-comp', {
data: function() {
return {
data: {
wakeup: {
text: "Get up",
time: 30, //timeout
},
...
},
test: "test",
...
},
watch: {
data: {
handler(val) {
this.saveSettings();
},
deep: true
}
},
mounted: function() {
this.readSettings();
setInterval(() => {this.timerCallback()}, (this.data.wakeup.time) * 1000); // -> time correctly set
},
methods: {
timerCallback() {
console.log(this.test); // -> test
console.log(this.data.wakeup.time); // -> undefined
},
}
【问题讨论】:
-
使用 this.wakeup,而不是 this.data.wakeup
-
@politinsa
wakeup嵌套在this.data... -
什么是未定义的?数据 ?醒来 ?还是时间?
-
在调用
timerCallback之前是否还有其他代码可以修改data?也许在readSettings? -
可能是一个不相关的错字,但据我统计,您的数据声明中缺少右括号
标签: javascript vue.js