我偶然发现了一个应该是常见且明显的问题,但我似乎无法绕过它.
我正在研究一个小型原型应用程序.我的后端开发人员在JSON对象中为我提供了配置文件数据.让我们说,它看起来像这样:
profile = {Name: 'John', Email: 'john@mail.com', DOB: '1980-11-03'}
Run Code Online (Sandbox Code Playgroud)
我需要在多个位置使用这些值,我也不想在控制器中放置后端http调用,所以我创建了一个服务来处理这个:
angular.module('app', [])
.service('ProfileService', ['$http', function ($http) {
var service = this;
service.Name = null;
service.Email = null;
service.DOB = null;
service.getProfile = function () {
return $http.get('/profile').then(function (response) {
service.Name = response.data.Name;
service.Email = response.data.Email;
service.DOB = response.data.DOB;
return true;
});
};
return service;
}])
.controller('ProfileCtr', ['ProfileService', function (service) {
var vm = this;
service.getProfile().then(function () {
vm.Name = service.Name;
vm.Email = service.Email;
vm.DOB = service.DOB;
});
}]);
Run Code Online (Sandbox Code Playgroud)
此解决方案存在许多问题: …