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
Jquery 由于范围丢失,角度ng重复不工作_Jquery_Angularjs_Angularjs Ng Repeat - Fatal编程技术网

Jquery 由于范围丢失,角度ng重复不工作

Jquery 由于范围丢失,角度ng重复不工作,jquery,angularjs,angularjs-ng-repeat,Jquery,Angularjs,Angularjs Ng Repeat,我正在尝试在我的网页上实现分页 在分页选项卡上选择页面时,将执行以下操作: $("#pagination-demo").twbsPagination({ totalPages: 100, visiblePages: 7, onPageClick: function(event, page) { $scope.PaginateVideos(page); } }); 它调用此函数: $scope.PaginateVideos = function(pageNum, sear

我正在尝试在我的网页上实现分页

在分页选项卡上选择页面时,将执行以下操作:

$("#pagination-demo").twbsPagination({
  totalPages: 100,
  visiblePages: 7,
  onPageClick: function(event, page) {
    $scope.PaginateVideos(page);
  }
});
它调用此函数:

$scope.PaginateVideos = function(pageNum, searchcriteria) {
  var searchCriteria;
  searchCriteria = searchcriteria;
  return $http({
    url: '/videos/GetVideos?page=' + pageNum + '&search=' + searchCriteria,
    method: 'Get',
    headers: {
      'Content-Type': 'application/json'
    }
  }).success(function(response, status) {
    if (status === 200) {
      $scope.VideoDetailsModel = {};
      $scope.VideoDetailsModel.Data = [];
      return $scope.VideoDetailsModel.Data = response;
    }
  });
};
当我在浏览浏览器中检查源代码时,我可以看到$scope.VideoDetailsModel.Data被更新为新数据

但是,ng重复项显示旧数据

排除故障后,我可以确认调用$(“#分页演示”)中的onPageClick:event.twbsPagination是问题的根源

如果我直接调用PaginateVideos函数而不分页,则ng repeat可以工作

我已尝试$scope.apply()。。范例

$scope.VideoDetailsModel.Data = response
$scope.apply()
我可以在分页VideoDetailsModel上确认。数据肯定有新数据


你能帮我一下吗?…

我的网页上两个不同的部分有相同的ng控制器

我想你的问题可能是由于参考对象的变化

在成功处理程序中,您做到了以下几点:

if (status === 200) {
  $scope.VideoDetailsModel = {};
  $scope.VideoDetailsModel.Data = [];
  return $scope.VideoDetailsModel.Data = response;
}
你能试着移动
$scope.VideoDetailsModel={}输出到您的控制器范围?比如:

$scope.VideoDetailsModel = {};

$scope.PaginateVideos = function(pageNum, searchcriteria) {
  ...
  return $http(...).success(function(response, status) {
    if (status === 200) {
      return $scope.VideoDetailsModel.Data = response;
    }
  });
};