【问题标题】:Angular2 Directive - selector with multiple idsAngular2 指令 - 具有多个 id 的选择器
【发布时间】:2016-07-19 13:49:56
【问题描述】:

我在 Angular 2 中实现了一个自定义指令,用于表单验证的指令,在许多地方我看到在指令定义中选择器属性与多个 id 相关联 - 例如:

@Directive({
    selector: '[my-custom-validator][ngModel]'
})

多个“[...]”(括号)选择是什么意思?

【问题讨论】:

    标签: angular selector directive angular2-forms


    【解决方案1】:

    与 CSS 中一样,选择器 [attr] 匹配具有名为 attr 的属性的元素。当多个属性选择器链接在一起时,所有属性必须存在于元素上。

    注意:与 CSS 不同,Angular 在执行匹配时会忽略目标属性上的任何 [...][(...)] 绑定括号。

    因此,选择器[my-custom-validate][ngModel] 匹配同时具有my‑custom‑validate 属性和ngModel 属性的元素(包括[ngModel][(ngModel)])。例如选择器匹配

     <input type="text" name="username" my-custom-validate [(ngModel)]="model.username">
    

    但不是

     <input type="text" name="username" my-custom-validate>
    

    【讨论】:

    • 所以我想我们想利用 ngModel 属性并将我们的指令仅附加到具有 ngModel 的组件?否则不会发生变化?
    猜你喜欢
    • 2016-07-20
    • 2012-11-02
    • 1970-01-01
    • 2016-09-13
    • 1970-01-01
    • 2019-03-28
    • 2021-07-17
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多