我有一个正在运行的Aurelia应用程序,正在使用带有可绑定参数的模板。
<template bindable="textitems">
${textitems}
<section id="one" class="wrapper">
<div class="inner flex flex-3">
<div class="flex-item left">
<div repeat.for="textitem of textitems">
<p>${textitem}</p>
</div>
</div>
</div>
</section>
</template>
我正在像这样传递它
<attractor textitems="${attractors}"></attractor>
,其中吸引子是项目的数组。
这基本上不符合我的要求。
${textitems}
在这种情况下one,two
吐出了正确的内容,但是-当涉及到该节的重复时,aurelia抱怨说(textitems
)不可迭代。
此后,我发现这是因为它成为正在输出的数组的字符串。因此它变成'one,two'
而不是['one','two']
如果是这样,我必须有更好的方法将这些数据向下传递到模板中。
Bindable绝对是最干净的方法,但Id爱被证明是错误的。
感谢您的时间,似乎还没有人遇到这个问题,但是我才刚刚起步,我认为它将对其他人有所帮助。
答案 0 :(得分:0)
我需要在原始模板调用的可绑定部分添加.bind。
textitems="${attractors}"
-使传递的值成为呈现为字符串的数组。
textitems="attractors"
-使传递的值从字面上是单词attractors
textitems.bind="attractors"
-使传递的值成为数组-如预期的那样。
(由Jesse de Bruijne建议)
可以假定Aurelia需要.bind将该项目作为它的对象来处理,而不是字符串的呈现。 $ {}语法使模板吐出任何东西的文本呈现,只放入变量名就吐出名称本身。