ng-click不适用于ng-bind-html

时间:2014-05-27 12:24:52

标签: javascript html angularjs ng-bind-html

我有这样的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,所以有人可以向我介绍如何解决这个问题吗?

2 个答案:

答案 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内容放在范围变量中会违背一些有棱角的哲学准则。

如果您以后要更改模板,是否需要重新绑定并再次处理?