我已经看到@Attribute()通常在指令中用作构造函数中的参数,如下所示:
export class EqualValidator implements Validator {
constructor( @Attribute(‘validateEqual’) public validateEqual: string) {}
validate(c: AbstractControl): { [key: string]: any } {}
}
Run Code Online (Sandbox Code Playgroud)
和@Input()在这样的组件中使用:
export class UserProfile {
@Input() user;
constructor() {}
}
Run Code Online (Sandbox Code Playgroud)
然后,在@Input()的情况下,您可以使用属性绑定将数据传递到模板中的这些变量.
这些装饰器之间的主要区别是什么?何时应该使用它们?
@Input():用于将值传递到指令或将数据从一个组件传递到另一组件(通常是父级到子级)。
@Attribute():您可以检索组件/指令的宿主元素中可用的属性的常量值,并且必须将其与组件或指令的构造函数的参数一起使用
希望有帮助!
| 归档时间: |
|
| 查看次数: |
2047 次 |
| 最近记录: |