AngularJS v1.3.14:目前,我已成功使用' ngSanitize'我的角度应用程序中的模块带有" ng-bind-html"将一些HTML绑定到页面上某个区域的输出。这是有效的,并不需要旧的$ sce信任HTML'东西。
但是,我想在子HTML中嵌入子绑定。
所以......像这样的东西......
angular.module('myApp', ['ngSanitize'...)
.controller('SomeCtrl', ['$scope', function($scope) {
$scope.myHTML = '<p>hello world</p>';
}]);
...
<div ng-app="myApp" ng-controller="SomeCtrl" ng-bind-html="myHTML"></div>
这样的事情并不......
angular.module('myApp', ['ngSanitize'...)
.controller('SomeCtrl', ['$scope', function($scope) {
$scope.myContent = 'hello world';
$scope.myHTML = '<p>{{myContent}}</p>';
}]);
...
<div ng-app="myApp" ng-controller="SomeCtrl" ng-bind-html="myHTML"></div>
思想?
答案 0 :(得分:2)
像这样的简单指令就可以了:
<div bindy="myHTML"></div>
.directive('bindy', function($compile) {
return {
link: function($scope, $element, $attrs) {
var html = $scope.$eval($attrs.bindy);
$element.html(html);
$compile($element.contents())($scope);
}
};
});