【发布时间】:2020-08-03 07:34:24
【问题描述】:
我的问题有两个:
-
在哪里放置某种轮询逻辑的最佳位置 - 在路由文件中,对吗?
-
如何将这个不断更新的值从 Route 传递给某个子组件?将某个变量标记为“
@tracked”,然后通过model挂钩传递跟踪变量?
假设我有这样的事情:
routes/index.js
export default class IndexRoute extends Route {
@tracked
recent: {
A: 0,
...
},
constructor() {
super(...arguments);
this.getRecent();
}
getRecent() {
// poll data / fetch latest
const {A, ...partialObject} = this.recent;
this.recent = { ...partialObject, A: <some new value fetched>};;
later(this, this.getRecent, 2000);
}
model() {
return this.recent;
}
}
application.hbs
<p>constantly updating "this.recent": {{ this.model.A }} </p>
我想如果我像这样使用模型挂钩,它将被跟踪并因此自动更新,但事实并非如此。我有这个样本Ember Twiddle 模拟了我正在尝试做的事情。我试图通过重新分配整个变量来强制重新计算,但它不起作用。
这个问题是我的initial question here 的深入探讨。
【问题讨论】:
标签: ember.js ember-octane