編集 2013-03-02
これは RC1 で解決されたようです
Ember.js の以前のバージョンでは、コントローラは割り当てられた状態を保持していましたが、これは Pre4 の問題のようです。
もし私がこのコントローラーを持っていたら
App.UsersController = Ember.ArrayController.extend({
content: ['mike', 'jen', 'sofia'],
_content_observer: (function(){
/* I'm called, but my author doesn't know why */
console.log('Content was altered! But why? And by whom?');
}).observes('content')
});
なんらかの理由でコンテンツが上書きされます。私は ember data を使用したくありませんが、その方向に強制されているようです。
このJS Fiddleは、この問題を例示しています。
どうしたの?どうすればそれを止めることができますか、それともこれは残り火の独断に深く染み込んでいるので、それを受け入れて流れに乗る必要がありますか?
編集
これをもう少し進めると、フックをオーバーライドしたとしても、 として設定されているものはすべて値にmodel
設定されるように見えます。content
setupController
例えば:
UsersRoute = Ember.Route.extend({
model: function() {
/*I should never be called, but I am. How curious.*/
return ['This','Shouldnt','Be','Assigned'];
},
setupController: function() {
/* According to http://emberjs.com/guides/routing/specifying-a-routes-model/, I should prevent the model from being assigned to content, but I don't */
}
});
はUsersController.content
値で終了します['This','Shouldnt','Be','Assigned']
この更新されたフィドルを参照してください