Ember.js 定期更新数据状态

Ember.js 定期更新数据状态,ember.js,Ember.js,我正在创建一个不连接到服务器的浏览器游戏。它使用fixture适配器将所有状态存储在Ember数据中。游戏的一部分是用户可以点击一个按钮并“执行任务”。任务有一段时间。我想在任务结束后更新游戏状态 我定期更新任务控制器,检查任务结束前的时间,然后用结果更新状态。然而,我注意到,当我导航到另一条路线时,它会破坏控制器。由于控制器被摧毁,我没有任何东西可以定期更新任务。因此,即使持续时间已过,它也不会更新游戏状态 我不明白为什么控制器被破坏了?这可能是因为控制器是项目控制器?这是我的第一个余烬应用程

我正在创建一个不连接到服务器的浏览器游戏。它使用fixture适配器将所有状态存储在Ember数据中。游戏的一部分是用户可以点击一个按钮并“执行任务”。任务有一段时间。我想在任务结束后更新游戏状态

我定期更新任务控制器,检查任务结束前的时间,然后用结果更新状态。然而,我注意到,当我导航到另一条路线时,它会破坏控制器。由于控制器被摧毁,我没有任何东西可以定期更新任务。因此,即使持续时间已过,它也不会更新游戏状态

我不明白为什么控制器被破坏了?这可能是因为控制器是项目控制器?这是我的第一个余烬应用程序,所以我可能设置不正确


另外,如果有更好的方法,我很想听听。

是的,
itemController
s在离开路线时被销毁:

App=Ember.Application.create();
App.Router.map(函数(){
//把你的路线放在这里
本路线(“其他”);
});
App.Router.reopen({
地点:'无'
});
App.IndexRoute=Ember.Route.extend({
模型:函数(){
返回[‘红色’、‘黄色’、‘蓝色’];
}
});
App.IndexController=Ember.ArrayController.extend({
_设置:函数(){
警报(“U设置索引控制器”)
}.on('init'),
itemController:“项目”
});
App.OtherController=Ember.Controller.extend({
_设置:函数(){
警报(“设置其他控制器”)
}.on('init')
});
App.ItemController=Ember.ObjectController.extend({
_设置:函数(){
警报(“设置项控制器”)
}.on('init'),
});

欢迎来到Ember.js
{{outlet}}
    {{{#模型中的每个项目}
  • {{item}}
  • {{/每个}}
{{{链接到“其他”}其他{{/链接到} {{{链接到'index'}}返回{{/链接到}
谢谢!我正在使用Ember.run.later()进行更新,但问题是我正在调用item controller中的一个函数,这会给我以下错误:未捕获错误:断言失败:调用已销毁对象的集合是的,这是我在回答的开头写的。。。你可以考虑一个属性,例如应用程序控制器,它是通过Enb.Run.2每秒更新一次,并使游戏状态成为一个计算属性。