2016-07-23 53 views
0

我已經創建了一個名爲navbar的模板和控制器。我在控制器中的代碼只是基於布爾值的燼柵js中的切換元素可見性

import Ember from 'ember'; 

export default Ember.Controller.extend({ 
    isLogged: true, 
}); 

,並在模板

{{#if isLogged}} 
     {{#link-to 'login' class="uk-button uk-button-danger"}}Login{{/link-to}} 
     {{#link-to 'signup' class="uk-button uk-button-danger"}}Join now{{/link-to}} 
    {{else}} 
     {{#link-to 'dashboard' class="uk-button uk-button-danger"}}Dashboard{{/link-to}} 
    {{/if}} 
<button class="uk-button uk-button-large uk-button-primary uk-width-1-1" disabled={{isLogged}}>Test button</button> 

同樣似乎並不奏效。我在哪裏錯了?

模板和控制器是使用ember生成器自己生成的,上面的代碼是我做的唯一修改。

編輯:

探索的文檔,我注意到,如在路徑定義控制器的名稱應該是相同的。現在導航欄只是我使用partial導入的模板,是否有任何解決方法我可能使用相同的?

回答

0

您應該爲此使用一個組件。

僅當您想在當前上下文中呈現模板時才使用{{partial}}。只有在您的.hbs文件變大時才使用它,但很少使用它。組件通常是更好的選擇。

此外,你應該幾乎從不使用{{render}}。你幾乎總是可以將它重構爲一個組件。

同樣使用{{render}} with a model param is deprecated.

+0

感謝您的提示。新手在這裏花了我一些時間來通過文檔。對不起,不能upvote回答有限的聲譽:( –

+0

我很高興我可以幫助。但考慮[接受](http://meta.stackexchange.com/questions/5234/how-does-accepting-an-answer - 工作)的答案之一,你不需要爲此投票特權。 – Lux

+0

做到了這一點。再次感謝您的幫助:) –

0

問題是「部分」只會提供模板而不是控制器。正確的方法是使用render,這也將導入視圖和控制器。