我有一个角度Web应用程序,每当我需要显示用户名或用户图像时,它正在调用后端API。但是,我现在希望能够在首次启动应用程序时将此信息缓存在localStorage中。 Angular中最好的方法或最好的地方是什么?我想象它将等同于jquery $(document).ready
方法。任何提示都将不胜感激。
答案 0 :(得分:3)
你可以把它放在run block中。这将在您的应用启动时运行一次
angular.module('myApp').run(function () {
//Run init code
});
答案 1 :(得分:0)
虽然您可以使用module.run
,但更好的选择是与主题相关的服务。 Angular服务只创建一次,因此您可以将加载代码放在最顶层。
E.g。
angular.module('myApp').service('currentUser', function() {
// load user data from local storage, if not found load from server
// then store in localStorage
this.name = /* loaded name */;
// etc...
});
请注意,大多数请求都是异步的,因此您可能希望执行会返回用户承诺的factory
。