2017-06-07 88 views
2

我想创建一个自定义元素,循环遍历一个数组,并将其应用于数组中的每个项目。例如,定制元素的视图模板将包含这样的:在Aurelia中,是否可以在repeat.for绑定中使用插槽?

<div repeat.for="i of items"> 
    <div with.bind="i"> 
    <slot></slot> 
    </div> 
</div> 

当我除去repeat.for和with.bind属性,所述槽将显示一个单一的时间。有没有办法让列表中的每个项目都重复一遍?

回答

4

不,您不能在今天使用repeat.forbind的插槽。要做到这一点,你必须使用可更换部件。例如:

<div repeat.for="i of items"> 
    <div with.bind="i"> 
    <template replaceable part="content"></template> 
    </div> 
</div> 

用法:

<my-component> 
    <template replace-part="content">Some Content - ${somePropertyOfI}</template> 
</my-component> 

Runnable的例子:https://gist.run/?id=29aa1c1199f080c9ba0e72845044799b

+0

的奥里利亚博客http://aurelia.io/blog/2016/05/23/aurelia-shadow-dom -v1-slots-prerelease/says“以上所有内容都是使用Aurelia实现的,它还可以与模板控制器一起使用,比如if和repeat,它们可以动态地生成内容我们已经修复了我们的@ child和@ children装饰器来理解新的模型“。但它似乎不起作用 –

+0

@MosèBottacini在这个答案的时候,它不可能与''一起使用'pepe'或'bind'。向我解释你想要做什么,我会试着给你一个解决方案 –

+0

只是表示可能文档不同步,因为它明确指出它可以完成 –