2016-09-20 5 views
0

kann nicht scheinen, um die test.json Daten auf meinem lokalen ausgeben.Einfache Winkelprojekt funktioniert nicht

Nicht sicher, ob es mit der Tatsache zu tun hat, dass ich es lokal führe oder nicht.

Thanks :)

index.html

<!doctype html> 
<html> 
    <head> 
    <meta name="viewport" content="width=device-width, initial-scale=1"> 
    </head> 
    <body ng-app="testApp"> 

    <div class="main" ng-controller="MainController"> 
     <div class="container"> 
      <div ng-repeat="info in test"> 
       <p>{{ info.nm }}</p> 
       <p>{{ info.cty }}</p> 
       <p>{{ info.hse }}</p> 
       <img ng-src="{{ info.cty }}"> 
      </div> 
     </div> 
    </div> 

    <script src="https://code.jquery.com/jquery-2.2.4.min.js" integrity="sha256-BbhdlvQf/xTY9gja0Dq3HiwQF8LaCRTXxZKRutelT44=" crossorigin="anonymous"></script> 

    <!-- Include the AngularJS library --> 
    <script src="https://cdnjs.cloudflare.com/ajax/libs/angular.js/1.4.0/angular.min.js"></script> 

    <!-- Modules --> 
    <script src="js/app.js"></script> 

    <!-- Controllers --> 
    <script src="js/controllers/MainController.js"></script> 

    <!-- Services --> 
    <script src="js/services/servicetest.js"></script> 

    </body> 
</html> 

app.js

var app = angular.module('testApp', ['']); 

MainController.js

app.controller('MainController', ['$scope', 'test', function($scope, test) { 
    test.success(function(data) { 
    $scope.test = data; 
    }); 
}]); 

servicetest.js

test.json befindet sich im selben Ordner wie servicetest.js.

+0

Können Sie den Fehler, der in der Konsole erscheint. – nubinub

Antwort

0

können Sie versuchen, mit

var app = angular.module('testApp', []); 

statt

var app = angular.module('testApp', ['']); 

Das Array gemeint ist, Sie einfach zum Injizieren verschiedener Abhängigkeit sagen konnte.

1

In Ihrem Code sind mehrere Fehler enthalten.

  1. Sie nicht Modulabhängigkeits als leere angeben sollten (''), das würde Injektor für '' fragen und werfen ein $injector error

    var app = angular.module('testApp', []); 
    
  2. Fabrik sollte ein Objekt von Methoden wie

    Rückkehr
    app.factory('test', ['$http', function($http) { 
        var getData = function(){ 
        return $http.get('test.json') 
        } 
        return { 
        getData: getData 
        } 
    }]); 
    
  3. Verwenden Sie die neu erstellte Factory-Methode vom Controller.

    test.getData().then(function(response) { 
        $scope.test = response.data; 
    });