我正在尝试编写一个服务来存储URL的查询字符串。我这样做是通过将它存储在一个cookie中然后检索它。但是,当我尝试从控制器访问saveURL方法添加查询字符串,我得到这个错误:Angular-service TypeError:无法读取未定义的属性'saveURL'
类型错误:无法读取属性未定义
controller.js的“saveURL”
angular
.module("app.alerts.alertView")
.controller("AlertViewsController", AlertViewsController);
AlertViewsController.$inject = [
"$scope", "$location", "alertHistory"
];
function AlertViewsController($scope, $location, alertHistory) {
alertHistory.saveURL($location.search());
}
service.js
(function() {
"use strict";
angular
.module("app.alerts.alertView")
.service("alertHistory", alertHistory);
alertHistory.$inject = [
"$cookieStore"];
function alertHistory ($cookieStore) {
return {
saveURL: function (urlObj) {
var array = $cookieStore.get("key");
array.push(urlObj);
$cookieStore.put("key", array);
}
};
}
})();
我已经正确地注射服务。还有什么我可以纠正,以解决这个错误。请帮助
你确定服务文件加载在浏览器中,并以正确的顺序(角,然后再服务等) – MBielski
是,装载在正确的顺序发生。 – user2128
顺序是角度,服务,控制器!那是对的吗 ? – user2128