当前位置: 首页 > 知识库问答 >
问题:

角度2:配对选择器在@Directive中做什么

申屠宏胜
2023-03-14

我对角度 2 的@directive有一些疑问,

我正在遵循这个教程

1-如果选择器必须像这样:

js prettyprint-override">selector: '[validateEqual][formControlName],[validateEqual][formControl]

validateEqual必须在这样的构造函数中

 constructor( @Attribute('validateEqual') public validateEqual: string,
    @Attribute('reverse') public reverse: string) {
}

它还意味着什么?什么是@Attribute

此外,如果在provider和useExisting中有multi = true

共有1个答案

韩楷
2023-03-14

>

  • 选择器:这意味着指令匹配具有属性validate的元素formControl NameformControl之一的元素

    <code>@Attribute</code>注入静态属性的值。通常使用@Input()将属性读入指令@Input()还支持绑定,当绑定到属性(或属性)的值发生变化时,输入将被更新@Input()值在ngOnInit()<-code>或ngOnChanges()<_code>中可用,而用 注入的值在构造函数中可用,但如果稍后更改,则不会更新
    使用以下代码 @Attribute('validateEqual')将public validateEqual 设置为foo`

    <div validateEqual="foo" formControlName="bar">
    
    <!-- this doesn't work with `@Attribute('validateEqual')` 
         because the attribute value is not static -->
    <div [validateEqual]="foo" formControlName="bar">
    
    • multi: true 表示一个提供程序令牌提供元素数组。例如,路由器的所有指令都支持routerLink路由器出口都由ROUTER_DIRECTIVES提供。
      如果使用令牌ROUTER_DIRECTIVES注册了新提供程序,则会重写以前注册的指令。如果设置了 multi: true(在第一个注册的提供程序和新提供程序上),则新指令将添加到以前注册的指令中,而不是重写。
      当注入ROUTER_DIRECTIVESconstructor(@Inject(ROUTER_DIRECTIVES)指令){})时,会注入一个指令实例数组。注入ROUTER_DIRECTIVES通常没有意义。我只是用它作为一个例子,因为它是多:真的

  •  类似资料:
    • 角度字段存储数字作为其值,并存储字符串作为其文本。 它的值是0到360之间的数字(可以更改此范围),而其文本可以是输入到其编辑器中的任何字符串。 角度字段 带编辑器的角度字段 压缩的角度字段 创造 { "type": "example_angle", "message0": "angle: %1", "args0": [ { "type": "field_angle

    • 问题内容: 我找到了这个CSS代码,然后运行它来查看其功能,并在页面上概述了每个元素, 有人可以解释一下Asterisk *在CSS中的作用吗? 问题答案: 这是一个通配符,这意味着它将选择DOM中该部分内的所有元素。 例如,如果我要对整个页面上的每个元素应用边距,则可以使用: 您还可以在子选择中使用它,例如,以下内容将为段落标记内的所有元素添加边距: 您的示例正在做一些CSS欺骗,将连续的边框和

    • 我见过这些选择器很多次,但并不清楚它们之间的主要区别是什么。有人能解释一下这些符号之间的区别吗?我们应该在什么时候使用这些符号?

    • 我有一个有3个字段的表单:类型(单选按钮)、名称和地点。如果我选择值'Y'从单选按钮验证应出现的名称和地点。如果我选择值'N'从单选按钮验证不应该显示的地方。请帮我实现功能。工作stackblitz:https://stackblitz.com/edit/angular-ivy-jzjh4j?file=src/app/app.component.ts TS

    • 我是量角器的新手,在这里我尝试测试量角器的angularjs日期选择器。 我试图找到一种方法来做到这一点,而这篇文章是我唯一找到的东西,使用起来不太清楚 如果有人知道如何测试,请帮忙。 我需要的是选择今天的日期。 提前感谢:) < li >编辑- alecxe,这是我的日期选择器的屏幕截图。很抱歉,无法提供页面的链接。:(