2016-01-30 2 views
1

Я знаю, что этот вопрос был опубликован много, но ни одно из решений, похоже, не является специфическим для моей проблемы. Я получаю сообщение об ошибке, которая начинается с «.service». В инспекторе он просто говорит «неожиданный токен». как будто ему не понравился этот период. После этой строки он имеет ошибку $ injector: modulerr. Какие-либо предложения? (Я не включил json-файл, потому что это всего лишь массив объектов).

JS

angular.module("powerpotApp", []) 

.controller('mainCtrl', function($scope, dataService) { 

    dataService.getPlants(function(response) { 
     $scope.plants = response.data; 
    }); 
}); 

.service('dataService', function($http) { 

    this.getPlants = function(callback) { 
     $http.get('mock/plants.json').then(callback) 
    } 
}); 
+2

Удалить точку с запятой до периода. Или используйте getter: 'angular.module (« powerpotApp »). Service ('dataService', ...' – georgeawg

ответ

1

Вы поставили точку с запятой в контроллере, так что это ошибка синтаксиса Javascript.

Это должно быть так:

angular.module("powerpotApp", []) 

.controller('mainCtrl', function($scope, dataService) { 

    dataService.getPlants(function(response) { 
     $scope.plants = response.data; 
    }); 
}) // removed semi colon here 

.service('dataService', function($http) { 

    this.getPlants = function(callback) { 
     $http.get('mock/plants.json').then(callback) 
    } 
}); 

Надеется, что это помогает.

+0

Ха, ничего себе, спасибо !. – muninn9

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