>我正在构建一个自动完成组件。计划是,我可以插入一些标记,用于我知道组件将绑定到的内容。
这个想法是这可以是任何对象,而不是简单的显示值和标识符。
我使用模板工作,但我想知道是否有更好的方法。
到目前为止,它看起来像这样(options
现在在组件模型中是硬编码的(:
// Usage:
<autocomplete>
<template replace-part="item">
//this is the content for each option within the component
<b>${option.lastName}<b/>, ${option.firstName}
</template>
</autocomplete>
//autocomplete
<template>
<input type="text" placeholder="Type 3 characters ...">
<ul>
<li repeat.for="option of options">
<template replaceable part="item"></template>
</li>
</ul>
</template>
我真的不喜欢模板样板,老虎机更好,有没有办法让老虎机像这样工作?
<autocomplete>
<li repeat.for="option of options">
${option.lastName}<b/>, ${option.firstName}
<li/>
</autocomplete>
//autocomplete
<template>
<input type="text" placeholder="Type 3 characters ...">
<ul>
<slot></slot>
</ul>
</template>
Aurelia中的插槽是基于标准规范的仿真,这意味着它不适用于重复情况。 引入repaceable
来处理这种情况,我认为我们没有任何其他选择。有时感觉很奇怪,但只要有一点文档,也许你和你的团队就会没事的。您可以做的是对于每个替换,它可以寻找哪些属性来获取该项目。