ember.js - Ember 应用程序中的 SetTimeout 与 Ember.run.later?

标签 ember.js handlebars.js momentjs

在我的 Handlebars 模板内:

Today's date: {{currentDate}}
Current Time: {{currentTime}}

在我的助手内部:

Ember.Handlebars.registerBoundHelper 'currentDate', (option) ->
  moment().format('LL');

Ember.Handlebars.registerBoundHelper 'currentTime', (option) ->
  moment().format('h:mm:ss a');

我如何每 1 秒更新一次 View 的 currentTime ?

我已阅读 Ember 推荐 Ember.run.later但我不太清楚该把它放在哪里以及如何使用这个助手来调用它。

最佳答案

您可以像通常使用 setTimeout 一样使用 Ember.run.later

Ember.run.later((function() {
  //do something in here that will run in 2 seconds
}), 2000);

我不确定内部结构,但我知道集成测试 Ember 要求您使用 run.later (如果您不这样做,测试代码将不会等待超时完成)。

关于ember.js - Ember 应用程序中的 SetTimeout 与 Ember.run.later?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21505332/

相关文章:

javascript - Backbone.js 和 Handlebars.js 创建相对 URL

node.js - Angular2 + TypeScript + moment.js => 语言环境并不全部存在(只是 'en' )

javascript - 在 IndexedDB 和 AngularJS 上查询 MomentJS 日期 - 日期与字符串

javascript - 在 Node 脚本中加载预编译的 Handlebars 模板?

javascript - 在javascript中获取UTC日期(不是UTC字符串)

javascript - Emberjs。如何抓取点击的相关数据?

javascript - Ember.js:注册的非单例注入(inject)到某个 View 时其实是单例

javascript - 我应该将 CSRF token 放在 Ember 应用程序中的哪个位置?

javascript - Ember.js:在执行验收测试时消失组件属性

javascript - 将对象数组传递给部分-handlebars.js