Javascript $http.get之后未更新UI

Javascript $http.get之后未更新UI,javascript,angularjs,angularjs-directive,Javascript,Angularjs,Angularjs Directive,嗨,我有以下angular.js控制器 function WorkSpacesController($scope, $http, notifications) { $scope.Workspaces = []; $scope.Query = ""; $http.get("api/Workspaces/GetAllWorkspaces/").then(function(response) { for (var i = 0; i < response.data.leng

嗨,我有以下angular.js控制器

function WorkSpacesController($scope, $http, notifications) {
  $scope.Workspaces = [];
  $scope.Query = "";
  $http.get("api/Workspaces/GetAllWorkspaces/").then(function(response) {
      for (var i = 0; i < response.data.length; i++) {
          $scope.Workspaces.push(response.data[i]);
          notifications.showSuccess("Added new Item");
      }
  },
  function(data) {
      notifications.showError("Could not load workspaces");
  });
}
function WorkSpacesController($scope、$http、通知){
$scope.workspace=[];
$scope.Query=“”;
$http.get(“api/workspace/GetAllWorkspace/”)。然后(函数(响应){
对于(var i=0;i
notifications.showSuccess
notifications.showError
方法在屏幕上显示通知。使用此脚本:

奇怪的是,
showsucture
方法实际工作并显示通知,而
showError
不工作且不显示任何内容。我调试了代码,一切看起来都很好,消息被添加到消息数组中,没有收到任何错误。我还尝试调用
showsucture
而不是
showsucture
,以验证它不是一个bug,并且可以正常工作


关于为什么在调用
showError
时未更新UI的任何想法?

我认为您的问题可能存在于通知服务中,因为下面的示例工作正常

angular.module('app',[]).controller('WorkspacesController',function($scope,$http,notifications,$templateCache){
$scope.workspace=[];
$scope.Query=“”;
//在本例中,将url放入http缓存,这样我们就可以在没有实际http请求的情况下加载它
//尝试一个成功的请求
$http.get('https://maxcdn.bootstrapcdn.com/bootstrap/3.3.6/css/bootstrap.min.css,然后(函数(响应){
//对于(var i=0;i


对于显示的
showError()
相关消息,您的HTTP请求应该会导致错误-是吗?您是如何强迫它导致错误的?@callmekatootie我只是将url更改为不存在的url。您是否添加了断点并检查它是否达到了该方法,是否临时替换到警报或console.log并检查发生了什么情况)。@Braulio是的,我有。我还调试了showError方法,它遵循与showSucees相同的流程,没有错误。Log也会在浏览器控制台中显示消息。在开发人员输出控制台上是否有任何错误?如果隔离在plunkr中工作(您可以尝试访问github或flickr公共rest api),它应该与您的应用程序相关