Aurelia有虚拟元素吗?

时间:2015-10-02 15:18:45

标签: aurelia

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中完成这样的事情?

1 个答案:

答案 0 :(得分:13)

感谢 James Thorpe 指出我正确的方向。 Aurelia添加了一个@containerless属性,您可以用它来装饰自定义元素类。当你这样做时,没有容器渲染。

示例:

import {customElement, containerless} from 'aurelia-framework';

@customElement('foo')
@containerless
export class Foo {
}