sha*_*ten 0 javascript extjs extjs4 extjs-mvc
我在哪里将用户特定(会话)信息存储在ExtJS MVC应用程序中?
定义一个自定义基本控制器是否正确,该控制器可以包含具有用户特定信息的对象并在应用程序中使用它?
例:
Ext.define("MyApp.controller.BaseController", {
extend: "Ext.app.Controller",
session: Ext.create("MyApp.lib.UserSession"),
init: function() {
var me = this;
me.session.init();
/** some code **/
},
doSomething: function() {
var me = this;
var counter = me.session.get("counter");
}
});
Run Code Online (Sandbox Code Playgroud)
如果您需要在页面刷新后保留数据,则可以使用Ext.state.Manager.
在应用程序启动期间使用Cookie或LocalStorage提供程序设置状态管理器:
Ext.state.Manager.setProvider(new Ext.state.CookieProvider());
// Shortcut for quick reference across the project, if MyApp.user is null - user is not authorized.
MyApp.user = Ext.state.Manager.get('user');
Run Code Online (Sandbox Code Playgroud)
在授权或其他操作后保存为当前用户持久保存的数据:
Ext.state.Manager.set('user', {
first_name: 'John'
last_name: 'Doe'
});
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
7887 次 |
| 最近记录: |