Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/71.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript ng点击赢得';不能使用ng绑定html_Javascript_Html_Angularjs_Ng Bind Html - Fatal编程技术网

Javascript ng点击赢得';不能使用ng绑定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内容放在范围变量中有点违

我有如下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);
});