我有一个简单的指令,如下所示:如何设置属性的元素Angular2
import { Directive, OnInit, OnDestroy, ElementRef } from "@angular/core";
@Directive({
selector: "[Checker]"
})
export class Checker {
constructor(private e: ElementRef) {
}
OnInit() {
this.e.nativeElement.setAttribute("spellcheck", "true");
}
keyFunc(event: KeyboardEvent) {
if (event.keyCode == 74) {
//more functionality
}
}
}
所以,每当我这个指令选择添加到任何标记,我设置了“拼写检查”属性设置为true。
如何以Angular2方式设置此属性?即,做这件事的另一种角度方式是什么。
谢谢。
它实际上需要是“”attr.spellcheck“:”true“',它只是'@HostBinding()'的替代语法。你可以用Angular装饰器做的所有事情都可以用'host:'完成,'@Input()','@Output()','@ViewChild()','@HostListener()',... 。 –
@GünterZöchbauer我实际上没有使用attr,而且它也在工作。我不确定哪个是正确的。虽然我没有用attr.spellcheck试试。 – ShellZero
如果绑定到组件输入或DOM元素属性,则不需要'attr.',否则需要'attr.'。 –