我有一个访问数据库的ember组件,并将结果返回到数据类型的UI组件中。我希望能够使用" N / A"当组件的结果为null或无效时。
例如,我有:
{{each bar in foobars}}
<td class="classyTD">
{{getBars bar=bar}}
</td>
{{/each}}
当我有数据时这很有效,但是当我没有数据时却什么都不返回。设计师更喜欢&#34; N / A&#34;。修改数据库不是一个选项,修改组件getBars
是一个选项,这将是非常痛苦的。
在执行组件后是否有方法/方法来处理此问题?如果没有,或者它是一个可怕的想法 - 我会因改变组件而受苦,我相信社区的意见。
答案 0 :(得分:1)
您真的应该在组件模板中执行此操作。您可以将N / A字符串作为参数,如果有任何帮助:http://emberjs.jsbin.com/lemabekuwi/2/edit?html,css,js,output
或者你可以通过一个类改变它表示空虚的组件并使用一些css魔法:http://emberjs.jsbin.com/duqazahegi/1/edit?html,css,js,output
答案 1 :(得分:0)
如果要限制把手中的逻辑,可以在组件js文件中包含以下内容:
({
setBar: (function() {
if (!this.get('bar')) {
return this.set('bar', 'N/A');
}
}).observes('bar')
});