[英]AngularJs Service/Provider Getter
我希望有一個資源,它每次使用時都會通過從cookie中獲取數據並將其作為JSON對象返回的方式進行評估, 所以我可以這樣使用它 :
var data = $userData
注意,獲取參數時將獲取更新的數據。
我可以用一個函數來做到這一點,但是我只能這樣訪問它:**
$userData.SomeFunc()
我可以使用getter屬性來做到這一點, 但是之后我只能這樣訪問它:
$userData.SomeData
這就是我知道可以使用getter屬性實現的方法:
proGamersApp.factory('$userData', ['cookiesStorage', function (cookiesStorage) {
var userData = {
get SomeData() {
return cookiesStorage.getCookie();
}
};
return userData;
}]);
有人知道我該怎么做嗎? 我嘗試過按工廠或服務進行此操作,但沒有成功,因為它僅在第一次調用時進行了評估。
不要在自己的變量中使用$
。 $
是標記AngularJS自己的私人物品。
關於如何創建可通過其屬性名稱訪問的服務,可以嘗試以下操作:
proGamersApp.factory('userData', ['cookiesStorage', function(cookiesStorage) {
var userData = {}
// this function immediately executes itself and
// calculates the value that you wanna return
// once it is loaded
userData.someProperty = (function() {
// do stuff here
var val = 1
return val
})()
userData.simplerProperty = 3
return userData
}]);
現在,當您在其他地方請求此服務時,將可以像下面這樣訪問其屬性:
userData.someProperty // will return 1
userData.simplerProperty // will return 3
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.