使用Angular 1,我们可以定义要限制的指令:匹配属性名称,标记名称,注释或类名称。我们创建的大多数指令都是属性或标记名称。首选项将是标记名称,但Sharepoint上的发布平台会删除未知元素。这意味着我们留下了使用属性,以便将我们的指令带入发布页面。但是使用Angular 2,我只看到了由标签名称实现的组件。
Angular 2是否可以使用属性名称来使用我们的组件?由于Sharepoint发布平台的限制,这是我们的要求。
谢谢。
selector
:'.cool-button:not(a)'
Specifies a CSS selector that identifies this directive within a template.
Supported selectors includeelement
,[attribute]
,.class
,and:not()
.
Does not support parent-child relationship selectors.Source: 07001,which
@Component
inherits.
这样你就可以使用[name-of-the-attribute](即CSS attribute selector),例如:
@Component({ selector: "[other-attr]",... }) export class OtherAttrComponent {
通常的方法是CSS type (AKA element or tag) selector:
@Component({ selector: "some-tag",... })
您甚至可以拥有与both a tag or an attribute匹配的组件:
@Component({ selector: "other-both,[other-both]",template: `this is other-both ({{ value }})` }) export class OtherBothComponent {
Demo plunker包含所有三个的例子。
Is
[attributeName="attributeValue"]
supported?
是。但请注意引用。在当前实现中,selector [attributeName =“attributeValue”]实际上匹配< soMetag attributeName ='“attributeValue”'>,因此在提交此方法之前进行测试。