2014-06-12 30 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”。希望有所帮助!

相关问题