javascript - Ember.js 动态组件

标签 javascript ember.js handlebars.js htmlbars

我有两个模型 AdminUser 我的申请模板如下

//application.hbs
{{outlet}}
{{header-nav}}

我想做什么(如果可能的话)使 {{header-nav}} 可定制,我解释说: 如果 admin 验证我想渲染组件 {{admin-header}}user 进行身份验证的情况下,它应该呈现 {{user-header}}。 我如何构建要在 application.hbs 中动态呈现的内容?

最佳答案

您可以使用 {{component}} 帮助程序,但您需要先确定组件名称,因此,在您的 Controller 中:

nameForComponent: Ember.computed('user.isAdmin', function()  {
// if admin return admin-header else user-header
})

然后,在您的模板中:

{{component nameForComponent}} 

它是不久前为此类用例设计和推出的。

你也可以更花哨:

{{component (if user.isAdmin 'admin-header' 'user-header') }} 

关于javascript - Ember.js 动态组件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30862020/

相关文章:

jquery - 单击表格行时如何在 <tr> 元素中创建一个类名

node.js - 如何使用handlebar express获取渲染的HTML?

drawing - javascript库透视扭曲绘图

javascript - 如何让用户在小数点前输入一定数量的输入值,在小数点后输入一定数量的输入值

javascript - 基本 Javascript/jQuery 数学游戏 : Why can't I evaluate the second time I run this function?

javascript - 当用户关闭窗口时Ember js运行函数

javascript - Laravel Gulp 未创建 js 文件夹

javascript - 在 ember.js 中访问模型外部的计算属性

javascript - Handlebars : Compile variable value

node.js - 在 Koa 中使用多个 View 目录