我在ember组件中创建以下数组变量,并将其传递给我的模板文件的控制器。
let errors = [
"Line 2 needs a tab separator.",
"Line 42 is empty.",
"Line 43 is empty.",
"Line 44 is empty.",
"Line 45 is empty.",
"Line 46 is empty.",
"Line 47 is empty."
];
在控制器中,我将属性设置为此数组值:
this.set('errorList', errors);
然后我可以在模板文件中显示数组:
{{controller.errorList}}
问题是错误显示为一个长字符串,如下所示:
第2行需要制表符分隔符。第42行为空。第43行为空。第44行为空。第45行为空。第46行为空。第47行为空。
是否可以使用{{#each}}帮助程序显示每个项目,从而能够添加HTML标记 - 例如:
<ul>
{{#each **** as |***|}
<li>***Display each individual error here.***</li>
{{/each}}
</ul>
如果我能够将数组变量转换为JSON对象会有帮助吗?
答案 0 :(得分:1)
是的,这是正确的语法:
<ul>
{{#each errorList as |error|}
<li>{{error}}</li>
{{/each}}
</ul>
如果您如上所述定义了数组,那么您也会遇到一堆语法错误。该数组应如下所示。
let errors = [
"Line 2 needs a tab separator.",
"Line 42 is empty.",
"Line 43 is empty.",
"Line 44 is empty.",
"Line 45 is empty.",
"Line 46 is empty.",
"Line 47 is empty."
];
如果您使用的是Ember预闪光灯(例如&lt; 1.13.x),如果您禁用了原型扩展,则还需要使用Ember.Array
的实例而不是本机数组。你可以通过像这样包装errors数组来做到这一点。
let errors = Ember.A([ ... the same as before ... ])