2014-10-01 54 views
1

我有一個數組控制器,我需要一個值來指示在UI中選擇了哪個數組項。我模仿什麼,我這個帖子後做:Ember - 計算屬性沒有觸發/更新

https://teamgaslight.com/blog/intermediate-ember-controller-concepts

看起來很簡單,但在我的應用程序,我使用的是{{呈現}}幫手。渲染助手是由於有類似這樣的

問題多個列表是,當我點擊列表項,相應的操作火災和陣列控制器上更新了正確的領域,但該項目控制器的計算性能不更新/解僱。

這裏是一個JSBin,說明我的問題(請注意,您需要點擊「州」項目揭示的國家名單):

http://jsbin.com/fucaqe/1/

我使用的渲染幫手,因爲在實際應用中,有三個列表在同一地區與此類似,打破每個列表似乎是組織代碼,並讓自己保持清醒的最好方式:-)

事情我已經驗證:

  • 的需求'屬性被正確設定的項目控制器上
  • 的.property()項控制器上指向正確的字段陣列控制器上
  • 答案對SO類似的問題還沒有充分解決我的問題

回答

1

您不能在不是單身人士的控制器上使用需求,而不是單身人士的控制器也不會有意義(例如物料控制器項目)。

另外計算的屬性不計算,除非有東西試圖獲得它們。

實施例:http://jsbin.com/zevuzo/1/edit

http://emberjs.com/guides/controllers/dependencies-between-controllers/

+0

在狀態對象控制器,存在其通過在模板上訪問的 'isSelected' 計算屬性{{綁定-ATTR}}。這是沒有像我期望的更新的財產。我看到你做了什麼來獲得國家名稱和幫助,但isSelected部分更麻煩。 – Scot 2014-10-02 13:42:25

+0

另外,是否有任何文檔描述需求什麼時候會和不會工作? emberjs.com上的指南和文檔沒有說明「需要」屬性在某些情況下不起作用 – Scot 2014-10-02 13:43:18

+0

我指的是selectedStateName,這意味着我誤解了您的問題。我更新了答案,你應該使用parentController當你使用itemController – Kingpin2k 2014-10-02 15:52:07