Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/427.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/angularjs/20.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 无法识别绑定到JS的HTML函数_Javascript_Angularjs - Fatal编程技术网

Javascript 无法识别绑定到JS的HTML函数

Javascript 无法识别绑定到JS的HTML函数,javascript,angularjs,Javascript,Angularjs,我正在编写一个应用程序,它可以绘制数据并以表格的形式显示数据。Angular JS用于排序和分页。我所使用的分页div是使用Angular中的函数注入的,该函数生成一个字符串,并将其设置为$scope.pagination变量。问题在于,当单击注入的HTML中的ng click函数时,它们无法被识别。我假设这是因为在呈现页面时它们不在那里 <html ng-app="listingsApp"> <body ng-controller="pageController" ng

我正在编写一个应用程序,它可以绘制数据并以表格的形式显示数据。Angular JS用于排序和分页。我所使用的分页div是使用Angular中的函数注入的,该函数生成一个字符串,并将其设置为$scope.pagination变量。问题在于,当单击注入的HTML中的ng click函数时,它们无法被识别。我假设这是因为在呈现页面时它们不在那里

<html ng-app="listingsApp">   
<body ng-controller="pageController" ng-init="type=0">
<div class="pagination" ng-bind-html="paginate"></div>

  var listingsApp = angular.module('listingsApp', []);

  listingsApp.controller('pageController', function($scope, $sce, $filter, $http) {
    $scope.BuildPaginationHtml = function(showPage) {
      pageString = "<span class=\"paginationItem \" ng-click=\"GoToPage(" + i + ")\"> " + i + " </span>";
      $scope.pagination = pageString;
    }
  }

var listingsApp=angular.module('listingsApp',[]);
listingsApp.controller('pageController',函数($scope、$sce、$filter、$http){
$scope.BuildPaginationHtml=函数(showPage){
pageString=“+i+”;
$scope.pagination=pageString;
}
}

在这里,单击span不会转到GoToPage函数。我有一个控制台日志来验证它。页面上的所有其他单击事件都有效。

对于动态HTML,您必须使用
$compile

listingsApp.controller('pageController', function ($scope, $sce, $filter, $http, $compile) {
    $scope.BuildPaginationHtml = function(showPage) {
        pageString = $compile("<span class=\"paginationItem \" ng-click=\"GoToPage(" + i + ")\"> " + i + " </span>")($scope);
        $scope.pagination = pageString;
    }
});
listingsApp.controller('pageController',函数($scope、$sce、$filter、$http、$compile){
$scope.BuildPaginationHtml=函数(showPage){
pageString=$compile(“+i+”)($scope);
$scope.pagination=pageString;
}
});