2013-11-26 63 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