2015-07-31 3 views
1

У меня есть некоторые контроллеры и вы хотите поделиться некоторыми данными друг от друга. , поэтому я построил фабрику для передачи этих данных («anagType») из «AnagTypeController» в «CourseCatController», но второй контроллер разобран до первого. Это HTML:Angularjs: приоритетные исполнительные контроллеры

<div id="workArea" class="row"> 
 
\t <div class="col-md-6"> 
 
\t \t <div class="panel panel-info" ng-controller="Controller1"> 
 
\t \t \t ... 
 
\t \t </div> 
 
\t </div> 
 
\t <div class="col-md-6"> 
 
\t \t <div class="panel panel-warning" ng-controller="AnagTypeController"> 
 
\t \t \t ... 
 
\t \t </div> 
 
\t \t <div class="panel panel-warning" ng-controller="Controller3"> 
 
\t \t \t ... 
 
\t \t </div> 
 
\t </div> 
 
\t <div class="clearfix"></div> 
 
\t 
 
\t <div class="col-md-4"> 
 
\t \t <div class="panel panel-danger" ng-controller="CourseCatController"> 
 
\t \t \t ... 
 
\t \t </div> 
 
\t </div> 
 
\t <div class="col-md-4"> 
 
\t \t ... 
 
\t </div> 
 
\t <div class="col-.md-4"> 
 
\t \t ... 
 
\t </div> 
 
\t <div class="clearfix"></div> 
 
\t 
 
</div> <!-- /#workArea-->

... и это angularjs:

app.controller('AnagTypeController', ['$scope', '$http', 'MsgBox', 'EmployeeMng', 
 
    function($scope, $http, MsgBox, EmployeeMng) { 
 
    $scope.anagType = []; 
 

 
    $scope.getList = function() { 
 

 
     $http({ 
 
      method: "GET", 
 
      url: "../../xxx" 
 
     }) 
 
     .success(function(data) { 
 
      $scope.anagType = data; 
 

 
      EmployeeMng.addAnagType($scope.anagType); 
 

 
     }) 
 
     .error(function(data, status) { 
 
      console.log('ERROR AnagTypeController getList ' + data + ' ' + status); 
 
     }); 
 
    }; 
 

 

 
    $scope.getList(); 
 
    } 
 
]); 
 

 
app.controller('CourseCatController', ['$scope', '$http', 'MsgBox', 'EmployeeMng', 
 
    function($scope, $http, MsgBox, EmployeeMng) { 
 
    $scope.anagType = []; 
 
    $scope.courseCats = []; 
 
    $scope.courseCatsObbl = []; 
 

 
    $scope.getCourseCats = function() { 
 

 
     $scope.anagType = EmployeeMng.anagType; 
 

 
     ... 
 

 
    } 
 

 
    $scope.getCourseCats(); 
 

 

 

 
    } 
 
]);

Возможно, я использую угловой в неправильном направлении ?

ответ

1

Вместо того, чтобы делать вызов в одном контроллере для установки данных, вы должны перенести этот код на фактическую службу. Все ваши контроллеры, которым нужны данные, могут затем вызвать службу для получения данных.

+0

Спасибо, поэтому я исправлю это :-) –

Смежные вопросы