我有这样的html模板:
$scope.template = '<span class="pointer"><i class="icon-refresh pointer" ng-click="refresh()"></i></span>';
我想使用ng-bind-html
绑定此模板,我尝试使用它并且还使用了ng-bind-html-unsafe
,但遗憾的是它将html字符串绑定为没有点击操作。
<span ng-bind-html="template"></span>
<span ng-bind-html-unsafe="template"></span>
我读到了类似的问题,它说ng-click
之后加载ng-bind
,所以有人可以向我介绍如何解决这个问题吗?
答案 0 :(得分:2)
也许您需要在控制器内编译模板?
angular.controller('ABCDCtrl', function($scope, $compile){
var templateHTML = '<span class="pointer"><i class="icon-refresh pointer" ng-click="refresh()"></i></span>';
$scope.template = $compile(templateHTML)($scope);
});
答案 1 :(得分:1)
您可以尝试使用ng-include并将模板放入静态文件中。
我认为,将HTML内容放在范围变量中会违背一些有棱角的哲学准则。
如果您以后要更改模板,是否需要重新绑定并再次处理?