2017-01-10 2 views
1

У меня есть div, созданный во время выполнения с его onclick, связывается с функцией компонента.угловой2 обычный 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

Избегание прямого доступа к DOM, похоже, больше не является приоритетом, из комментариев, которые я видел из членов группы Angular. –

Смежные вопросы