我创建了名为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
导入的模板,我可能会使用相同的解决方法吗?
答案 0 :(得分:0)
问题是'部分'只会提供模板而不是控制器。正确的方法是使用render
来导入视图和控制器。
答案 1 :(得分:0)
你应该使用一个组件。
仅当您要在当前上下文中呈现模板时才使用{{partial}}
。仅在您的.hbs
文件变大时才使用它,但很少使用它。通常,组件是更好的选择。
此外,你几乎不应该使用{{render}}
。您几乎总能将其重构为组件。