基于布尔值在英特尔js中切换元素可见性

时间:2016-07-23 10:14:48

标签: javascript ember.js

我创建了名为navbar的模板和控制器。我在控制器中的代码就是

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生成器本身生成的,上面的代码是我做的唯一修改。

编辑:

探索文档,我注意到控制器的名称应该与路由中定义的相同。现在navbar只是我使用partial导入的模板,我可能会使用相同的解决方法吗?

2 个答案:

答案 0 :(得分:0)

问题是'部分'只会提供模板而不是控制器。正确的方法是使用render来导入视图和控制器。

答案 1 :(得分:0)

你应该使用一个组件。

仅当您要在当前上下文中呈现模板时才使用{{partial}}。仅在您的.hbs文件变大时才使用它,但很少使用它。通常,组件是更好的选择。

此外,你几乎不应该使用{{render}}。您几乎总能将其重构为组件。

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