2015-06-13 5 views
0

Я пытаюсь сделать запрос REST с угловыми.Использование услуг в AngularJS

Main.js

angular.module('frontendApp') 
    .controller('MainCtrl', ['$scope', '$http', function($scope, $http) 
    { 

    $scope.loadData = function() { 
    $scope.services = Services.query(); 

}; 

services.js

'use strict'; 

angular.module('frontendApp').factory('Services', function($resource) { 
    return $resource('/services/:serviceId', { 
    serviceId: '@_id' 
    }, {}); 
}); 

Я получаю сообщение об ошибке: услуги не определена. Что я не так?

EDIT: Mains.html

<div class="jumbotron"> 


Choose A Category1 
<div class="wrap" ng-controller="MainCtrl"> 
<select ng-model="selectedValue" ng-change="loadData()" > 
    <option value="1">Category 1</option> 
    <option value="2">Category 2</option> 
    <option value="3">Category 3</option> 
    <option value="4">Category 4</option> 
    <option value="5">Category 5</option> 
</select> 



<div ng-show="selectedValue != null" class="main"> 
    <center><h2>Results For Category {{ selectedValue }}</h2></center> <br><br> 

</div> 


<div class="main" > 
    <ul class="cloudlist"> 
    <li class="service" ng-repeat="item in services" ng-click="select(item)"> 
     <div class="info"> 

     <h3>{{item.service_name}}</h3> 
     <b>{{item.status_page}}</b><br> 
     <b>Is Billed : {{item.is_billed.billing_term._identifier}}</b> 


     </div> 
    </li> 
    </ul> 
    <br> 
</div> 

</div> 

После введения службы в контроллере

angular.module('frontendApp') 
    .controller('MainCtrl', ['$scope', '$http', 'Services', function ($scope, $http, Services) { 
     $scope.loadData = function() { 
      $scope.services = Services.query(); 
     }; 

Я получаю эту ошибку: Неизвестный поставщик: ServicesProvider < - Услуги < - MainCtrl

+1

сделал лет впрыскивается 'ngResouce' модуль и его' угловато-нг-resource.js '' как angular.module ('frontendApp', [ 'ngResource']) ' –

+0

ли вы загрузили файл services.js перед загрузкой main.js –

+0

Я не понимаю, что вы точно имеете в виду ... – user567

ответ

1

Вы должны ввести Услуги в свой контроллер.

var module = angular.module('frontendApp', ['ngResource']); 

module.factory('MyServices', ['$resource', function($resource) { 
    return $resource('/services/:serviceId', { 
     serviceId: '@_id' 
    }, {}); 
}]); 

module.controller('MainCtrl', ['$scope', '$http','MyServices', function ($scope, $http, MyServices) { 
    $scope.loadData = function() { 
     $scope.services = MyServices.query(); 
    }; 
}]); 
+0

У меня есть эта ошибка, когда я это делаю: Неизвестный поставщик: ServicesProvider <- Services <- MainCtrl – user567

+0

попытаться удалить «Сервисы», я отредактировал мой код: –

+0

Ошибка: услуги не определены [email protected]: // localhost: 9000/scripts/controllerlers/main.js: 13: 13 – user567

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