angularjs – 角度2组件可以与属性选择器一起使用吗?

前端之家收集整理的这篇文章主要介绍了angularjs – 角度2组件可以与属性选择器一起使用吗?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我们目前有一个现有的小型Angular 1项目,该项目在内部部署Sharepoint 2013环境中使用。对于我们内容的大部分内容,我们在Sharepoint环境中使用发布页面

使用Angular 1,我们可以定义要限制的指令:匹配属性名称标记名称,注释或类名称。我们创建的大多数指令都是属性标记名称。首选项将是标记名称,但Sharepoint上的发布平台会删除未知元素。这意味着我们留下了使用属性,以便将我们的指令带入发布页面。但是使用Angular 2,我只看到了由标签名称实现的组件。

Angular 2是否可以使用属性名称来使用我们的组件?由于Sharepoint发布平台的限制,这是我们的要求。

谢谢。

是的,@ Component装饰器的selector属性CSS selector(或其子集):

selector: '.cool-button:not(a)'

Specifies a CSS selector that identifies this directive within a template.
Supported selectors include element,[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 {

Se demo plunker here

通常的方法CSS type (AKA element or tag) selector

@Component({
    selector: "some-tag",...
})

它匹配名称为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”'>,因此在提交此方法之前进行测试。

猜你在找的Angularjs相关文章