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.

编译它

https://docs.angularjs.org/api/ng/service/$compile

这里有几件事:

  1. ng-click指令已经运行,所以它不知道你动态添加的元素。

  2. 在使用 angular 时,通常不赞成使用 innerHTML 等动态添加内容。看起来您正在尝试重新创建 directive 的功能我建议您走这条路,因为它将为您提供修复代码所需的工具。