In Angular, wie JSON-Objekt / Array in Direktive übergeben?

Derzeit ist meine app hat ein controller braucht, in eine JSON-Datei iteriert dann über Sie mittels "ng-repeat". Das ist alles ganz toll arbeiten, aber ich habe auch eine Richtlinie, die braucht Sie zum Durchlaufen der gleichen JSON-Datei. Dies stellt ein problem, da ich nicht verlangen die gleichen JSON-Datei zweimal auf einer Seite (noch würde ich wollen, denn es wäre ineffizient). Sowohl die Richtlinie und controller Antrag und Durchlaufen werden, die JSON-Daten nur in Ordnung, wenn ich den Dateinamen zu ändern, der eine der JSON-Dateien.

Was ich Frage ist: was ist der beste Weg zu gehen über die übergabe der array gebildet, von meinem controller JSON-Anforderung in der Richtlinie? Wie kann ich das array übergeben in meine Richtlinie und Durchlaufen, wenn ich schon zugegriffen es über meinen controller?

Controller

appControllers.controller('dummyCtrl', function ($scope, $http) {
   $http.get('locations/locations.json').success(function(data) {
      $scope.locations = data;
   });
});

HTML

<ul class="list">
   <li ng-repeat="location in locations">
      <a href="#">{{location.id}}. {{location.name}}</a>
   </li>
</ul>
<map></map> //executes a js library

- Richtlinie (Funktioniert, wenn ich einen Datei-Namen neben Standorten.json, da hab ich schon angefragt, die es einmal

.directive('map', function($http) {
   return {
     restrict: 'E',
     replace: true,
     template: '<div></div>',
     link: function(scope, element, attrs) {

$http.get('locations/locations.json').success(function(data) {
   angular.forEach(data.locations, function(location, key){
     //do something
   });
});

InformationsquelleAutor der Frage Omegalen | 2014-02-10

Schreibe einen Kommentar