我希望此服务的行为如同模型。将服务用作模型
angular.module('secrunApp').service('appState', function() {
this.currentAnswerset = 1;
this.currentQuestion = 2;
this.name;
function set(key, value) {
console.log('>> set appStateModel', key, value);
var localVar = key;
this[localVar] = value;
}
function get(key) {
console.log('<< get appStateModel', key, this[key]);
return this[key];
}
return {
get: get,
set: set
}
});
几个问题。
1 - 最初默认属性在启动应用程序和访问此道具时未定义。为什么?
2 - 这是一个简单但正确的处理作为一个模型的服务和存储数据可以通过整个应用程序访问吗?
3 - 我会通过返回一个get/set API来假设剩下的属性不能直接访问(私有),但它们不是。有人可以解释为什么这样吗?
一旦注入控制器,我设置并获取属性值如下,完美。
appState.set('name', 'SJV');
appState.get('name');
一般问题:什么将是一个坚实和正确的实施。我想保持简单,平易近人。
这很酷,与关闭工作,我一直在寻找。然而我不能设置也没有得到一个值(appState注入)我的控制器通过'appState.set('名称','SJV')' - 必须是我忽略的小事情吗? –
这些函数被错误地命名。 Getter被命名为set,setter被命名为get。可能这就是为什么它不适合你。我更新了代码。 – Prashant