3

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

4

2 回答 2

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);
});
于 2014-05-27T13:54:52.983 回答
1

您可以尝试 ng-include 并将模板放入静态文件中。

我相信,将 HTML 内容放在范围变量中有点违反一些角度哲学准则。

如果您稍后更改模板,您是否希望它重新绑定并再次处理?

于 2014-05-27T12:31:46.700 回答