在以下代码中,$ compile不起作用。 我有一个项目,我将这个项目添加到范围,以便我可以编译它并获得一个HTML。
$http({
method: 'GET',
url : url
}).success(function(response) {
// var data = response.data;
$scope.item = preItem ;
var e = $compile('<div>{{item.name}}</div>')($scope);
});
}
在那之后,我把所有事情都做成了非常静态和事件之后,这没有用。
$http({
method: 'GET',
url : url
}).success(function(response) {
$scope.tosenddata = 'testdata';
var e = $compile('<div>{{tosenddata}}</div>')($scope);
});
}
即使在此之后结果也一样!
我在控制器内执行此操作。
答案 0 :(得分:0)
在这种情况下,$ compile正在运行,如果你控制“e”,它将显示angular的div元素与ng-scope绑定。
现在“e”只是一个角度div元素,您需要将其插入DOM以查看HTML或控制台e [0]。
$scope.tosenddata = 'testdata';
var e = $compile('<div>{{tosenddata}}</div>')($scope);
console.log(e[0]);
在控制台中,您会看到<div class="ng-scope ng-binding">testdata</div>
请参阅此工作fiddle
中的控制台由于
答案 1 :(得分:0)
它可能无法正常工作的一个原因是它没有达到$ http成功回调。 你应该同时使用错误&amp; $ http。
的成功 $http({
method: 'GET',
url: '/someUrl'
}).then(function successCallback(response) {
}, function errorCallback(response) {
});
继续工作,请参见fiddle link此处