在 link 函数中构建为字符串时,ng-click 不执行

ng-click not executing when built as a string in link function

我正在使用 Timeline JS 来构建时间线。在时间轴中有元素,我希望这些元素可以点击。

在我的指令 link 函数中,我构建了可点击的元素内容,如下所示:

var stringToBeAdded = '<a ng-click="setPage(2)" href="javascript:void(0)">March 10, 2015</a>'

但是,在将字符串添加到 DOM 之后,它会在单击时在我的控制器中执行 setPage() 函数。范围正确。

您需要使用$编译服务。

https://docs.angularjs.org/api/ng/service/$编译

像这样:

var stringToBeAdded = $compile('<a ng-click="setPage(2)" href="javascript:void(0)">March 10, 2015</a>')($scope);

查看此处了解更多信息:

Insert an angular js template string inside an element