2017-01-10 53 views
1

我有一個在運行時創建的div與它的onclick綁定到組件的功能。angular2常規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事件,但我不知道如何解決這個問題。

回答

1

你需要照顧,其中this點的時候divClick被調用到:

用途之一:

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

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

如果要創建動態的div你應該動態地將事件綁定到該div。 This答案可能對您有幫助。

+0

從我從Angular團隊成員看到的評論中,避免直接DOM訪問似乎不再是優先級。 –