我尝试使用$ compile从模板生成HTML以传递给外部组件。一切都在使用$ interpolate,但我需要在模板中使用指令并且必须切换到$ compile。我在$ compile中看到的所有其他示例都在指令中使用,所以我不认为这是一个重复的问题。
这里有一些说明问题的代码。
查看:
<div ng-app="MyApp" ng-controller="TestCtrl">
This is a test: <span ng-bind-html="valueList"></span>
</div>
控制器:
angular.module('MyApp', []).controller('TestCtrl', function ($scope, $compile, $sce) {
var linker = $compile('<ul><li ng-repeat="v in values">{{v}}</li></ul>');
var scope = $scope.$new(true);
scope.values = ['a', 'b', 'c'];
var html = linker(scope).html();
$scope.valueList = $sce.trustAsHtml(html);
});