我正在尝试创建一个服务,就是这样:
(function () {
'use strict';
angular
.module('app')
.factory('appService', Service);
function Service($http) {
function getData() {
var request = new XMLHttpRequest();
request.open('GET', 'mock.json', false);
request.send(null);
return [request.status, request.response, {}];
}
return {};
}
})();
mock.json
位于同一文件夹中。
然后我尝试从控制器调用它:
(function () {
'use strict';
angular.module('app')
.controller('appCtrl', appCtrl);
/** @ngInject */
function appCtrl(appService) {
console.log(appService.getData());
}
})();
但它给了我一个错误:
TypeError:appService.getData不是函数
我做错了什么?
答案 0 :(得分:4)
您正在返回空对象,因此您收到了预期的错误。
function Service($http) {
function getData() {
var request = new XMLHttpRequest();
request.open('GET', 'mock.json', false);
request.send(null);
return [request.status, request.response, {}];
}
//Here return the function reference of getData
return {
getData : getData
};
}
答案 1 :(得分:1)
您只是缺少在Service
return {
getData: getData
}