AngularJS 在 innerHTML 中点击
AngularJS ng-click inside innerHTML
我有以下代码:
acrossText = acrossText + activeWordList[w].placeOrder + ". " + activeWordList[w].clue + "<button ng-click='speak()'>Speak</button> " + "<br /><br />";
document.getElementById('div1').innerHTML = acrossText;
但是 ng-click="speak()" innerHTML 没有触发。
怎么了?
代码没有被编译。您必须使用 $compile
.
编译它
这里有几件事:
ng-click
指令已经运行,所以它不知道你动态添加的元素。
在使用 angular 时,通常不赞成使用 innerHTML 等动态添加内容。看起来您正在尝试重新创建 directive 的功能我建议您走这条路,因为它将为您提供修复代码所需的工具。
我有以下代码:
acrossText = acrossText + activeWordList[w].placeOrder + ". " + activeWordList[w].clue + "<button ng-click='speak()'>Speak</button> " + "<br /><br />";
document.getElementById('div1').innerHTML = acrossText;
但是 ng-click="speak()" innerHTML 没有触发。 怎么了?
代码没有被编译。您必须使用 $compile
.
这里有几件事:
ng-click
指令已经运行,所以它不知道你动态添加的元素。在使用 angular 时,通常不赞成使用 innerHTML 等动态添加内容。看起来您正在尝试重新创建 directive 的功能我建议您走这条路,因为它将为您提供修复代码所需的工具。