【发布时间】:2014-02-21 03:36:37
【问题描述】:
下面是我的问题的一个小玩具版本。
所以我有一个控制器(coffeescript):
Test.PriceController = Em.ObjectController.extend
init: ->
this._super();
console.log 'initialized'
还有一个模型:
Test.Price = DS.Model.extend
cost: DS.attr 'string'
价格模型每 5 秒从数据源更新一次。每次模型更新时,都会触发控制器init中的console.log。似乎无法在 ember 文档中看到这是否是正确的行为。问题是,我想向存储最后一个“成本”值的控制器添加一个属性,但鉴于对象不断被重新初始化,当模型更新时这将被擦除。此外,如果这是正确的行为,将不胜感激任何替代方法。
总结一下:为什么控制器会这样做,如果是设计使然,那么像我上面概述的那样存储“最后成本”变量的正确方法是什么?
【问题讨论】:
-
你是如何更新模型的?
-
我在我的 Adapter 的 find() 中点击了 JSON API,然后在调用 @_super 之前,Serializer 在 extractSingle() 中对 JSON 进行了一些处理。 Ember 负责其余的工作,我不会显式更新模型。
-
所以你再次调用
find并且模型正在下面更新。集合中的模型和价格控制器是否用作项目控制器? -
是的,视图中的输出是{{#each price itemController='price'}}
标签: ember.js coffeescript ember-data