1

关于为什么我不能从 $http.success() 方法中调用 $broadcast,我无法给出合理的答案。没有错误,并且 $broadcast 在 $http.success() 之外工作。侦听器位于 angular-schema-form-upload 的修改版本上,可在此处找到

这是一个简化版本。如何从 $http 的成功方法中触发侦听器?

var app = angular.module('plunker', []).factory('projects',['$http', '$rootScope',function($http, $rootScope){
  var service = {items:[], create: function(project){
    return $http.post('/myrails/api/project', project).success(function(data){
      service.items.push(data);
      $rootScope.$broadcast('schemaFormFileUploadSubmit', {project_id: data.id});//this never works
    });
  }};
  return service;
}]);

app.controller('MainCtrl', function($scope) {
  $scope.name = 'World';
});
4

0 回答 0