【发布时间】:2015-01-30 02:46:05
【问题描述】:
我是 JS 和 Angular 的新手,
我有一个 currentUser 角度服务...它应该将检索到的当前用户设置为 localStorage 以在页面刷新之间保持它
服务定义如下
var currentUserSrvc = function() {
// some logic on how to save the user to localStorage
return {
user: {}
};
};
angular.module('app').factory('currentUser', currentUserSrvc);
我想覆盖此服务的 setter 和 getter 以使用 localStorage... 但不手动添加 setter 和 getter
不要介意 localStorage 内部如何工作
// I just want to use it like
currentUser.user = response.user
// instead of using it like (given that I'll provide a setter and a getter methods)
currentUser.setUser(response.user)
使用 Angular js 可以吗?
【问题讨论】:
-
所以你想在这个服务中添加一个 $watcher 来观察用户的变化,对吧?
-
不,我想覆盖服务中的 setter 和 getter,以允许在其中注入额外的逻辑。
-
不幸的是,在 javascript 中没有属性的内部 setter/getter(像某些语言一样),你必须添加一个 $watcher 来观察属性的变化(就像 angularjs 一样)
-
service.__proto__有以下方法__defineGetter____defineSetter____lookupGetter____lookupSetter__... 当currentUser.user = ...时使用那些作为setter 和getter 的不是angular?!跨度> -
@SergioFilhow 撒谎,developer.mozilla.org/en-US/docs/Web/JavaScript/Guide/…
标签: javascript angularjs angular-services angularjs-factory