javascript - 从观察变量中获取数据
问题描述
我有一个初学者问题。也许我只是太愚蠢了。
情况:我有一个界面,可以通过滑块设置闹钟定时器值。每次更新值时,都会将其写入文件。但是当我设置一个间隔时,我无法从回调函数访问被监视的变量,请参阅 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
},
}
解决方案
我从昨天开始就试图弄清楚,由于某种原因,你的代码没有执行挂载的钩子,我只是复制你的代码(在观看之前缺少一个右括号,可能只是示例代码)并意识到如果你更改已安装的其他钩子,例如创建,这我会触发并且我会工作,至少在我的示例中。
created() {
this.readSettings();
setInterval(() => {this.timerCallback()}, (this.data.wakeup.time) * 1000);
}
你真的需要挂载的钩子,还是你可以改成created的?
推荐阅读
- linux - 如何在 yocto 中安全地更新 root 密码的配置?
- activereports - ActiveReports 中的 GroupFooter1 大小
- python - 给定一个特定的日期时间,我如何按天减去它?
- javascript - 使用 cypress 和 firestore 测试反应应用程序显示超时重试:cy.wait()
- scripting - 如何为键盘设备使用触控手势 - 自动热键脚本?
- css - 错位的页面内容 - 带有反应的 UI 布局
- unit-testing - 具有 ORM 交互的单元测试 Go 函数
- php - 有没有一种简单的方法来比较 PHP 中的 IP?
- r - 从保持列表格式的文件列表中分配变量名称
- dataframe - 为构建 RNN 准备时间序列数据