我有一個簡單的指令,如下所示:如何設置屬性的元素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.'。 –