我只是想在列表的末尾添加一个动态元素,但我希望Angular能够对该动态元素进行评估,以便在单击它时可以注册ng-click事件。这按预期工作,但当我第二次点击它时,我得到一个infdig错误。
这可能很重要,不确定,它附加的列表是一个链接列表,它们会转到应用程序中的不同页面(使用angularUI路由器)和那些"页面"在同一视图中,因此页面不会仅仅更改页面上的内容。所有这些"页面"使用相同的控制器和模板。
feedbacklink = angular.element('<li><a ng-click="test()" id="reviewPageLink">Customer Feedback</a></li>');
$('#section_2 ul').first().append(feedbacklink);
$compile(feedbacklink)($scope);
ng-click触发器(简化为显示问题):
$scope.test = function () {
alert('test');
};
在我看来,再次调用$ compile,但是当我在编译后立即放置console.log时,它似乎并不是这样,它只显示一次。有没有办法确保编译只运行一次,或者甚至不是问题?