Я в замешательстве и в исправлении относительно контроллеров и компонентов, обнаруживающих изменения в моделях. Согласно Официальная документация Ember --
«По умолчанию значение, возвращаемое из вашего хука модели, будет присвоено свойству модели связанного контроллера. Например, если ваш App.PostsRoute возвращает объект из его хука модели, этот объект будет установлен как свойство модели для Приложение.Контроллер сообщений."
Следовательно, не должен ли контроллер обновляться при изменении модели в маршруте или асинхронно с помощью внешней функции?
App.IndexRoute = Ember.Route.extend({
model: function(){
App.set('localStore', this.get('store'));
App.localStore.createRecord('stats', {'name': 'cde'});
return this.store.find("stats");
}
});
App.IndexController = Ember.Controller.extend({
modelObs: function() {
// Never triggered!
console.log("CONTROLLER: model updated!");
}.property('model')
});
// Component with the controller's model property passed to it as localModel
// in the template
App.NewCompComponent = Ember.Component.extend({
localModel: null,
modelObs: function() {
console.log("COMPONENT: Model updated!");
}.property('localModel')
Вот Jsbin, иллюстрирующий проблему: http://jsbin.com/tavis/3/edit
Есть ли что-то, что я могу делать неправильно? Как заставить компонент обнаружить изменение в переданной модели от контроллера, и аналогично, как заставить контроллер обнаружить изменение в модели маршрута? Возможно, я что-то упускаю — указатели приветствуются! Спасибо