动态重新编译角度指令
http://jsfiddle.net/RW46a/2/
我的应用程序使用外部依赖项,jQuery将HTML代码直接添加到DOM( 叹气 ),就像小提琴中描述的那样。
我希望能够对一些动态添加的代码进行角度化,例如将ng-click指令添加到附加到“mycontent”div的新按钮,请参阅上面的注释。 以角度友好的方式做到这一点的最佳方法是什么? 我试图利用$ compile但很快就变成了hacky。
谢谢!
这个小提琴显示了实现你所尝试的许多方法之一。 现在,我不是说这对你的情况是正确的。 但是,如果没有更多信息,很难确切地知道您要实现的目标。
通常使用angular实现“动态”DOM操作的方法与使用$compile
无关。 我希望我给了你一个主意。
基本上,你可以使用ng-show
作为第一个元素,然后使用ng-repeat
作为其余元素:
JS:
var app = angular.module('myApp', []); function MyController($scope) { $scope.click = function() { alert('Clicked'); }; $scope.add = function() { $scope.contentCollection.push(1); } $scope.contentCollection = []; }
HTML:
我想你想用ng-include将代码片段添加到DOM中。 这将在加载html之前编译角度元素,因此您可以使用ng-click等指令。
请注意,这将创建一个新的子范围,因此您无法直接访问控制器的范围。