我需要使用click function bind打印动态html。我使用了分配给范围变量的$ sce.trustAsHtml。以下是我的代码供参考。我无法找到为什么指令在我的情况下不起作用。请帮我解决这个问题。
app.js
angular.module('starter', ['ionic', 'starter.controllers', 'starter.services'])
.config(function($stateProvider, $urlRouterProvider) {
.state('groupchat', {
url: '/groupchat',
templateUrl: 'templates/groupchat.html',
controller: 'GroupChat',
controllerAs: 'GC'
})
})
.run(function($rootScope, $location, SharedProperties) {
SharedProperties.sharedObject = {
unread: 0,
subscriptions: [],
}
});
groupchat.js // - 控制器
angular.module('starter.controllers')
.directive('dynamic', function ($compile) {
return {
restrict: 'A',
replace: true,
link: function (scope, ele, attrs) {
scope.$watch(attrs.dynamic, function(html) {
ele.html(html);
$compile(ele.contents())(scope);
});
}
};
})
.controller('GroupChat', function($rootScope, $scope, $sce, $compile) {
$scope.trustedHtml = $sce.trustAsHtml('<span ng-click="testAlert()">Submit</span>');
$scope.testAlert = function () {
alert('testing');
};
});
groupchat.html
<ion-view>
<div dynamic="trustedHtml"></div>
</ion-view>
答案 0 :(得分:1)
<div dynamic= "{{trustedHtml}}"> ??
我在想如果这是问题,而不是hte var内容,它将绑定字符串&#34; trustedHtml&#34;然而,它会在你的情况下工作/出现