我已升级到Angular 1.3.15并且以下代码停止正常工作:
var newScope = $scope.$new();
angular.extend(newScope, data);
var html = '<ng-include src=\'"' + templateUrl + '"\'></ng-include>';
var newHtml = $compile(html)(newScope);
$compile
后newHtml
的数据为data: " ngInclude: undefined "
。
我试图查看可能已经在1.2或1.3中发生的变化,但没有发现任何相关的变化。
想法?
[编辑]
在线阅读更多示例后,例如:https://github.com/angular/angular.js/issues/4505
我看到当我使用旧的AngularJS版本运行此代码时,我获得了ng-include.ng-scope
的返回元素,而新版本我获得comment
。
如果它添加了2个元素 - 评论和ng-include,那么它是有意义的,但它不是,只是评论。
不知道如何从这里继续
答案 0 :(得分:0)
不太清楚为什么,但我通过动态创建div元素,注入其html并将其传递给$ compile来解决它。
像这样:
var html = "<ng-include src=\"'" + templateUrl + "'\"></ng-include>";
var div = $('<div>');
div.html(html);
var newHtml = $compile(div)(newScope);