我有一个奇怪的错误导致我挠头。
我有一个 Ember.State ,每次输入时我都会在其中新建一个控制器:
show: Ember.State.extend({
enter: function(manager, transition) {
this._super(manager, transition);
var contact = App.store.find(App.Contact, App.appController.get('params'));
App.set('selectedContactController', App.SelectedContactController.create({}));
//TODO: Why do I have to do this when I have just called create?
if(App.getPath('selectedContactController.content') && App.getPath('selectedContactController.content.length') > 0){
App.setPath('selectedContactController.content', Ember.A());
}
在代码的另一部分,我将控制器的内容设置为从数据存储加载的数组。
我在我写这个问题的那一行上面写了一条评论。即使我调用 create,我也必须清除内容集合。这让我很困惑。
SelectedContactController 如下所示:
App.SelectedContactController = Ember.ArrayProxy.extend(App.FeedScroller, {
content 属性来自 App.FeedScroller mixin,如下所示:
App.FeedScroller = Ember.Mixin.create(Ember.Evented, {
content: Ember.A(),
有人知道为什么调用 create({}) 时内容属性不会被破坏吗?