刷新 Angular 没有页面重新加载的 JS 工厂
Refresh Angular JS Factory without page Re-load
我正在 angularjs 通过工厂访问存储在本地存储器中的数据。在页面加载时,工厂从本地存储加载和访问数据并将它们存储在变量中。我能够调用该工厂并获取变量中的值。
但是,每当我在更改本地存储值后调用工厂时,工厂 returns 将使用旧值而不是新值。有没有办法刷新工厂,使其在不刷新整个页面的情况下再次获取本地存储值?
Javascript代码..
headerApp.factory('userFactory', ['$rootScope', function($rootScope){
var dataFactory = {};
dataFactory.user = localStorage.getItem("valueA");
dataFactory.userName = localStorage.getItem("valueB");
dataFactory.userAccessToken = localStorage.getItem("valueC");
return dataFactory;
}]);
在调用 userFactory.user 时,userFactory.user函数更改本地存储值后的名称 returns 旧值而不是新值。请帮忙
如何将你从本地存储中提取信息的代码移动到工厂中的一个函数中,然后每当你更新任何本地存储时,你调用该函数来更新 dataFactory
也是吗?
headerApp.factory('userFactory', ['$rootScope', function($rootScope){
var dataFactory = {};
this.updateUser();
this.updateUserName();
this.updateAccessToken();
updateUser () {
dataFactory.user = localStorage.getItem("valueA");
}
updateUserName () {
dataFactory.userName = localStorage.getItem("valueB");
}
updateUserAccessToken () {
dataFactory.userAccessToken = localStorage.getItem("valueC");
}
return dataFactory;
}]);
然后在任何时候,假设在本地存储端更改了用户名,您可以调用 this.userFactory.updateUserName();
来更新 dataFactory.userName
。
我正在 angularjs 通过工厂访问存储在本地存储器中的数据。在页面加载时,工厂从本地存储加载和访问数据并将它们存储在变量中。我能够调用该工厂并获取变量中的值。
但是,每当我在更改本地存储值后调用工厂时,工厂 returns 将使用旧值而不是新值。有没有办法刷新工厂,使其在不刷新整个页面的情况下再次获取本地存储值?
Javascript代码..
headerApp.factory('userFactory', ['$rootScope', function($rootScope){
var dataFactory = {};
dataFactory.user = localStorage.getItem("valueA");
dataFactory.userName = localStorage.getItem("valueB");
dataFactory.userAccessToken = localStorage.getItem("valueC");
return dataFactory;
}]);
在调用 userFactory.user 时,userFactory.user函数更改本地存储值后的名称 returns 旧值而不是新值。请帮忙
如何将你从本地存储中提取信息的代码移动到工厂中的一个函数中,然后每当你更新任何本地存储时,你调用该函数来更新 dataFactory
也是吗?
headerApp.factory('userFactory', ['$rootScope', function($rootScope){
var dataFactory = {};
this.updateUser();
this.updateUserName();
this.updateAccessToken();
updateUser () {
dataFactory.user = localStorage.getItem("valueA");
}
updateUserName () {
dataFactory.userName = localStorage.getItem("valueB");
}
updateUserAccessToken () {
dataFactory.userAccessToken = localStorage.getItem("valueC");
}
return dataFactory;
}]);
然后在任何时候,假设在本地存储端更改了用户名,您可以调用 this.userFactory.updateUserName();
来更新 dataFactory.userName
。