【发布时间】:2017-04-27 15:08:36
【问题描述】:
angular
.module('erpos')
.service('GetBillNoService', ['$http', '$filter', '$cookies', function ($http, $filter, $cookies) {
return {
getData: function ($http, $filter, $cookies) {
var vm = this;
var billNo = "";
var date=$filter('date')(new Date(),'yyyy-MM-dd');
console.log(date);
date = date.split("-");
var curDate = date[0].substring(2, 4) + date[1].substring(0, 2);
HttpService
.get('/Company/' + $cookies.get('department') + '/MaterialNo/GetMax')
.success(function (data) {
switch (data.code) {
case 1000:
vm.materialIn = data.materialIn;
if (vm.materialIn == null) {
vm.billNo = curDate + "0001";
} else {
var time = vm.materialIn.maxBillNo.substring(0, 4).toString();
var maxmonth = time.substring(0, 4);
console.log(maxmonth);
if (maxmonth != curDate) {
vm.billNo = curDate + "0001";
}
else {
vm.billNo = (parseInt(vm.materialIn.maxBillNo) + 1).toString();
}
}
break;
}
});
billNo = vm.billNo;
console.log(billNo);
return billNo;
}
}
}]);
我想通过这个服务得到一个billNo,然后将billNo传递给控制器,但是出现错误
'TypeError: 无法读取属性'get' of undefined'
我发现'get'中的错误是cookies的属性,但我已经注入了它,所以谁能告诉我出了什么问题?
【问题讨论】:
-
HttpService未注入 -
我想补充一点,您仍在使用
.success()。我强烈建议切换到.then()。第一个符号已被弃用,并在 AngularJS 版本 1.6.0 中完全删除。