Я новичок в Angular, и я некоторое время пытаюсь назвать фабрику, которая использует Restangular в одном из моих контроллеров. Вот контроллер:AngularJS: Сервисный объект пустой
'use strict';
angular.module('myApp')
.controller('UserCtrl', ['WebApi', function($scope, WebApi) {
$scope.user = WebApi.getProfile(1);
}
]);
Всякий раз, когда я вызываю фабрику WebApi в своем контроллере, объект WebApi пуст. Когда я вызову метод, он будет возвращен не определен. При входе в объект в консоли, я получаю
Object {}
Вот моя фабрика:
"use strict";
angular.module("myApp.services", ["restangular"])
.factory("WebApi", ["Restangular", function(Restangular) {
var getProfile;
Restangular.withConfig(function(RestangularConfigurer) {
RestangularConfigurer.setBaseUrl("http://127.0.0.1:3000/api/v1");
});
getProfile = function(id) {
Restangular.one("users", id).get().then(function(data) {
return data;
});
};
}
]);
App модуль:
'use strict';
angular.module('myApp', ['ngCookies', 'ngSanitize', 'ui.router', 'myApp.services']);
И это включено в мой указательный HTML:
<script src="scripts/app.js"></script>
<script src="scripts/controllers/main.js"></script>
<script src="scripts/services/webapi.js"></script>
<script src="scripts/controllers/user.js"></script>
Что я делаю неправильно? Заранее спасибо.
Я понимаю разницу между сервисом и фабрикой, но даже если я просто сделаю простую функцию или атрибут для 'WebApi' и вызову его с контроллера, объект' WebApi' пуст. Почему это? – user3181113
Поскольку его нужно вернуть, позвольте мне показать вам простой пример, чтобы понять, что я имею в виду. – Shomz
Ahhh, я понимаю сейчас. Спасибо. – user3181113