2014-10-31 61 views
0

我現有的代碼擴展灰燼選擇:在灰燼擴展一個選擇1.8

App.AreaSelect = Em.Select.extend(Em.TargetActionSupport, { 
     (...)  
    }); 

模板使用這樣的:

{{view App.AreaSelect content=areas value=selectedArea}} 

現在,apparently做的這樣,在灰燼已經改變1.8:

"views are more appropriately resolved on the application via strings"

(?這意味着什麼。)

所以,在我的模板嘗試這樣的:

{{view "areaSelect" content=areas value=selectedArea}} 

我剛收到以下錯誤信息:

"Uncaught Error: Assertion Failed: areaSelect must be a subclass of Ember.View, not "

enter image description here

(最後的部分是,你可以看到,缺少的)

我在這裏做錯了什麼?

回答

2

你得到的錯誤實際上是因爲它找不到名爲areaSelect的視圖。

您選擇視圖的命名約定不正確。它必須以「查看」結束。如果您將其重命名爲App.AreaSelectView,則應該正確解析。

App.AreaSelectView = Ember.Select.extend({ 
     // blah 
    }); 

例如參見JSBin

0

由於您無法通過ember 1.8解析全局上下文的視圖,因此您可以將視圖註冊爲「幫助器」並在模板中進行訪問。

爲了您的情況,請嘗試下面的代碼。

...  
Ember.Handlebars.helper('areaSelect', App.AreaSelect); 
... 

和模板代碼是這樣的:

{{areaSelect content=areas value=selectedArea}} 

我希望這也許對你有所幫助。