angular - 如何在 Angular 2 的元素上设置属性?

标签 angular

我有一个简单的指令如下:

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
        }
    }

}

因此,每当我将此指令选择器添加到任何标记时,我都会将 spellcheck 属性设置为 true

我怎样才能以 Angular2 的方式设置这个属性,即 Angular 的替代方法是什么?

最佳答案

'Angular 2' 方法是使用 Renderer .

this.renderer.setElementAttribute(e.nativeElement, "spellcheck", "true");

编辑:

正如 PeterS 在下面的评论中指出的那样,renderer 已被弃用,取而代之的是 renderer2,因此新命令将是:

this.renderer2.setAttribute(e.nativeElement, "spellcheck", "true")

关于angular - 如何在 Angular 2 的元素上设置属性?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42261962/

相关文章:

javascript - Angular 2 验证和复选框 'required' 属性在 Firefox 上不起作用

javascript - sharedModules 到多个完全不同的应用程序

html - 如果我单击 Angular 中的类,则隐藏 div

javascript - Angular 动态表单嵌套字段

javascript - 遥测初始化程序之一失败,遥测项目将不会发送

angular - 如何在 Angular 2+ 中通过单元测试避免依赖 hell

javascript - 使用 ngrx/store 进行观察 - 竞争条件

angular - Azure Devops 管道 - 您的全局 CLI 版本高于本地版本

dynamic - Angular 2 - 使用 ComponentResolver 加载运行时下载的组件

angular - Electron + Angular CLI如何使用 Electron 打包程序打包dist