angular2 regular onclick不会更新模型

时间:2017-01-10 06:46:04

标签: angular

我在运行时创建了一个div,它的onclick绑定到组件的一个函数。

let div = document.createElement("div");
div.onclick = this.divClick;
document.getElementById("container").appendChild(div);

点击功能应该像这样更新模型:

divClick(event) {
    this.divContent = event.target.innerHTML;
}

视图未随divContent更改而更新。 (当将值记录到控制台时,它似乎已更新)

使用角度(click)时,它按预期工作。

<div (click)=divClick($event)>click me</div>

我认为问题与使用常规onclick事件有关,但我不知道如何解决这个问题。

2 个答案:

答案 0 :(得分:1)

在调用this时,divClick指向的地方需要注意:

使用以下其中一项:

div.onclick = (e) => this.divClick(e);

div.onclick = this.divClick.bind(this);

答案 1 :(得分:0)

如果要动态创建div,则应该动态地将事件绑定到该div。 This回答可能对您有帮助。