2014-06-12 32 views
1

我有這樣一種服務:可以簡化提供單個gettable/settable變量的服務嗎?

var app = angular.module('someModule'); 
app.factory('token', function() { 
    var token = null; 
    return { 
    get: function() { 
     return token; 
    }, 
    set: function(tokenIn) { 
     token = tokenIn; 
    } 
    }; 
}); 

我寧願有這樣的事情:

app.variable('token', null); 

經過5年的POJO的,我有一個小的,但激烈的仇恨的getter/setter方法。有沒有更好的方法來做到這一點角? provide.constant和provide.value似乎不符合法案。我無法找到一個插件來做到這一點 - 是否有這個概念我不知道的詞彙?

回答

4

你可以只使用對象直接是這樣的:

myApp.factory('token', function(){ 
    return { Token : '' }; 
}); 

然後,你可以注入token工廠到控制器中,要麼獲取或設置令牌如下:

myApp.controller("Test", function ($scope, token) { 
    // set: 
    token.Token = 'abc'; 
    // or get 
    var local = token.Token; 
}); 

這儘可能接近你所能得到的「POJO」。希望有所幫助!

相關問題