2013-11-26 3 views
1

У меня есть родительский контроллер и настройка дочернего контроллера, чтобы дочерний контроллер мог переключать свойство из родительского контроллера.Устранение привязки свойства к родительскому контроллеру

Когда я переключаю свойство из дочернего контроллера, он успешно обновляет дочернее представление и запускает наблюдателя «onlineChanged» и записывает соответствующее значение, но родительский вид не обновляется с правильным значением. Дисплей остается ложным.

Вот мой код:

App.Router.map(function() { 
    this.resource('Main', function() {}); 
}); 

App.MainController = Ember.Controller.extend({ 
    online: false 

    onlineChanged: function() { 
     console.log(this.get('online')); 
    }.observes('online') 
}); 

App.MainIndexController = Ember.Controller.extend({ 
    needs: ['Main'], 
    actions: { 
     toggleOnline: function() { 
      this.toggleProperty('controllers.Main.online'); 
     } 
    } 
}); 

И мои шаблоны;

Main.hbs

{{outlet}} 

Online: {{online}} 

Index.hbs

<button {{action toggleOnline}}>toggle</button> 

Почему консоль регистрирует соответствующее значение, но Main.hbs не правильно обновить?

ответ

0

Главное должно быть в нижнем регистре в вашем свойстве, потребностях и карте переключения. Я не уверен, почему это сломает его.

Кроме того, в вашем основном коде отсутствует запятая, поэтому я предполагаю, что вы вырвали другую логику, которая может сломать ее.

http://emberjs.jsbin.com/EKepEMaD/1/edit

+0

Это был нижний регистр в потребности, имущества и карты. Спасибо огромное! Я никогда бы не подумал об этом! – VatoSteve

Смежные вопросы