Knockout JS具有虚拟元素的概念。这些是“无头”元素,您可以绑定到没有HTML元素作为容器的元素。这允许您在不发出外部HTML的容器中绑定数组。
例如,在Knockout JS中,您可以执行以下操作:
<!-- ko foreach: items -->
<li data-bind="text: $data"></li>
<!-- /ko -->
将在没有父元素的情况下发出一系列li
标记。
Aurelia是否提供类似的东西?我确实看到你可以在Aurelia中创建可以绑定的自定义元素,但这些自定义元素作为HTML元素发送到DOM。
例如,在Aurelia,您可以执行以下操作:
<foo repeat.for="item of items" foo.bind="item"></foo>
但是,这会发出foo
个元素标记。如何在没有不需要的父元素标签的情况下在Aurelia中完成这样的事情?
答案 0 :(得分:13)
感谢 James Thorpe 指出我正确的方向。 Aurelia添加了一个@containerless
属性,您可以用它来装饰自定义元素类。当你这样做时,没有容器渲染。
示例:
import {customElement, containerless} from 'aurelia-framework';
@customElement('foo')
@containerless
export class Foo {
}