Javascript ng点击赢得';不能使用ng绑定html
我有如下html模板:Javascript ng点击赢得';不能使用ng绑定html,javascript,html,angularjs,ng-bind-html,Javascript,Html,Angularjs,Ng Bind Html,我有如下html模板: $scope.template = '<span class="pointer"><i class="icon-refresh pointer" ng-click="refresh()"></i></span>'; 我读到类似的问题,它说ng click是在ng bind之后加载的,所以有人能给我介绍一下如何解决这个问题吗?你可以尝试使用ng include并将模板放入静态文件中 我认为,将HTML内容放在范围变量中有点违
$scope.template = '<span class="pointer"><i class="icon-refresh pointer" ng-click="refresh()"></i></span>';
我读到类似的问题,它说
ng click
是在ng bind
之后加载的,所以有人能给我介绍一下如何解决这个问题吗?你可以尝试使用ng include并将模板放入静态文件中
我认为,将HTML内容放在范围变量中有点违背了一些狭隘的哲学准则
如果以后要更改模板,是否希望它重新绑定并再次处理?可能需要在控制器内编译模板
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);
});
angular.controller('ABCDCtrl',函数($scope,$compile){
var templateHTML='';
$scope.template=$compile(templateHTML)($scope);
});
这一事实让你很难做到这一点,这恰恰说明了你不应该这么做的原因。HTML不属于控制器。通过视图将其拉入为什么需要在JS变量中使用模板?在我正在处理的项目中,我必须将模板绑定到主视图中的子视图,因此我需要将模板及其功能放入所需的面板(子视图)中您使用的Angular版本是什么?
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);
});