我正試圖在我的控制器/模板中重新使用代碼。在我的模板之一,我有以下幾點:如何根據屬性名稱訪問控制器的內容
{{#if controllers.nodesIndex.content.isUpdating}}
這是工作正常,但讓這個模板非常具體。我想概括這一點。我想這樣做財產以後,如:
{{#if controllers.{{indexController}}.content.isUpdating }}
哪裏indexController
實際上是在我的控制器中的配置參數:
indexController : 'nodesIndex',
使用的語法不工作,我不知道是否有一種方法做我想做的事情。
我曾嘗試另一件事很簡單:
{{#if isUpdating}}
而且我已經定義了這個作爲一個CONTROLER計算性能。這是一般的設置(「基礎類」):
getIndexController : function() {
return this.get('controllers.' + this.indexController);
},
isUpdating : function() { return this.getIndexController().get('content').isUpdating; }.property(),
但我無法告訴property()
哪些其他特性此計算性能取決於,因爲他們實際上是可配置的,由getIndexController()
函數返回。
有關如何訪問「動態」控制器內容的任何想法?
不確定這可以工作:'isUpdating'不依賴於'this.indexController'的值,而是依賴於'isUpdating' 'this.indexController'中指定的'controller'的'content'屬性。也就是說,即使'this.indexController'沒有改變(它不會:它是給定控制器的一個固定參數),'isUpdating'屬性可以很好地改變,因爲在控制器中指定的屬性'this.indexController'會改變。 – dangonfast