动态编译javascript插入的角度控制器?
我在一个动态创建html的应用程序中工作。我们开始使用angular,所以现在我们尝试使用angular.element()创建html,并在其中定义一个控制器动态编译javascript插入的角度控制器?,javascript,jquery,html,angularjs,Javascript,Jquery,Html,Angularjs,我在一个动态创建html的应用程序中工作。我们开始使用angular,所以现在我们尝试使用angular.element()创建html,并在其中定义一个控制器 angular.element("<div ng-controller='myController'/>"); angular.element(“”); 问题是,由于它是在页面呈现后创建的(例如,当用户单击某个位置时),插入的html与angular不兼容,就像普通html一样。我该怎么解决呢?我用这种方法: var t
angular.element("<div ng-controller='myController'/>");
angular.element(“”);
问题是,由于它是在页面呈现后创建的(例如,当用户单击某个位置时),插入的html与angular不兼容,就像普通html一样。我该怎么解决呢?我用这种方法:
var template = angular.element(YOU_HTML_IN_STRING);
var linkFn = $compile(template);
var element = linkFn($scope);
angular.element(CSS_SELECTOR).html('').append(element);
如果您没有访问$compile的权限。您可以在这里查看:
angular.element()
返回jqlite的包装器对象。您必须使用$compile
服务来代替。谢谢,@Samir,$compile服务是否可从全局类获得?像是有角度的。$compile?或者我应该在创建元素的脚本中包含它吗?创建元素的脚本不在控制器或指令内…不,它在全局范围内不可用。这是角度服务。您必须通过控制器进行注入。