从服务角度组件访问数据库
问题描述:
我想在页面加载时从数据库填充我的组合框。当我调试它时,调试点根本不会碰到adminsService.test(result)。这是为什么?我试图在没有任何条件的情况下获取数据。从服务角度组件访问数据库
angular.module('adminService', []).factory('adminService', function ($rootScope, $http) {
var modelService = function() {
}
modelService.prototype.test = function (test) {
var promise = $http(
{
method: 'POST',
url: '/Model/getTopics',
contentType: 'application/json',
data: {
test: test
}
});
return promise;
}
viewRoleModule.controller('viewRoleController', function ($scope, $routeParams, adminService) {
var self = this;
self.$onInit = function() {
self.topicRoleItems = function()
{
adminService.test(result);
};
}
});
<div ng-repeat="item in $ctrl.topicRoleItems">
{{item.TopicName}}
</div>
答
尝试
self.topicRoleItems = adminService.test().then(function(result){
self.topicRoleItems = result;
});
UPDATE
.factory('adminService', function ($rootScope, $http,$q) {
var modelService = [];
modelService.test = function (test) {
var deferred = $q.defer();
$http({
method: 'POST',
url: '/Model/getTopics',
contentType: 'application/json',
data: {
test: test
}
}).success(function(resp){
deferred.resolve(resp);
}).error(function(resp){
deferred.reject();
});
return deferred.promise;
}
return modelService;
})
谢谢你,但我得到的错误是:adminService.test不是一个函数 – user6440175
尝试更新。 –