在角度2中将属性指令转换为元素

时间:2017-04-24 06:55:44

标签: javascript angular angular-directive

我正试着了解Angular 2中提供的属性指令。

最初我以为我只能使用Attribute创建指令,但是当我尝试了很少的东西时,我也可以使用Elements创建指令。

请参考以下代码,我可以创建一个Element指令

@Directive({
    selector: 'myDir'
})
export class MyDirective implements OnInit {
    @Input() prop1: boolean;
    @Input() prop2: boolean;
    constructor() {
    }
    ngOnInit(): void {
        console.log(this.prop1);
        console.log(this.prop2);
    }
}

可以像下面那样使用

<myDir [prop2]="true">Hello World</myDir>

呈现HTML

enter image description here

问题:

  • 如果它基于您提供的选择器,为什么称为属性指令。

    例如:

    • 如果我提供[myDir],那么我可以将其用作属性
    • 但如果我使用myDir作为选择器,则会将其作为元素指令。

1 个答案:

答案 0 :(得分:2)

只有在您使用属性选择器时才会调用属性指令。

如果您正在使用类或元素选择器,则它不再是属性指令。

通常,指令只是指令。