Angular中是否允许使用void自定义指令?如果是这样,如何声明/启用?

时间:2018-01-15 13:53:31

标签: angular

我们有一堆Angular.js模板(从服务器加载,动态编译),我们希望在Angular重写应用程序时重复使用。

模板使用许多自定义指令。对于一个特定的指令,该元素始终表示为void元素。参见示例,其中custom-datasource是一个void元素:

<div>
    <p>My template</p>
    <custom-datasource name="myds">

    <custom-chart dsname="myds">
        <series name="..."></series>
    </custom-chart>
</div>

Angular指令:

@Directive({selector: 'custom-datasource'})
export class DatasourceDirective {}

在angular.js中,似乎这些无效标签是默默忍受的。

问题:有没有办法指定角度应该允许空元素?

1 个答案:

答案 0 :(得分:1)

不支持。

每个自定义元素或指令都需要有正确的开始和结束标记

<custom-datasource name="myds"></custom-datasource>

Angular仅支持有效的HTML,并且根据规范,只有一组有限的元素是void元素。自定义标签不能是空元素。

您可以使用有效的void元素作为自定义元素的选择器。因此有效(根据HTML规范)void元素可以是Angular组件。

另见: