从组件视图中获取块内容

时间:2014-06-23 13:46:30

标签: javascript ember.js handlebars.js

我正在设计一个组件来帮助我们的应用程序中的警报消息。现在,它设计用于显示从属性传入的内容,内部的块内容或两者。举个例子:

{{#cos-alert message="This is the first line" displayBlock="all"}}
    This is the second line
{{/cos-alert}}

会呈现:

This is the first line
This is the second line

我的示例把手模板:

{{message}}<br/>
{{yield}}

但是,有时将message属性绑定到视图中的属性,该属性将导致它为空。我们想要检测是否有块内容,如果是,我们想要显示它。如果没有,我们想要隐藏具有isVisible属性的组件,直到有内容要显示。

然而,我还没有找到一种方法来检测是否存在块内容。我可能会遗漏一些东西,但经过一段时间的搜索,我什么都没找到。是否可以从组件视图中获取yield的值?

1 个答案:

答案 0 :(得分:1)

要检查是否message检查message属性。 要检查是否有模板,请检查template属性。

here

这可能是你需要检查是否有模板:

 hasTemplate: Em.computed.bool('template')