我正在嘗試編寫一個服務來存儲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