我们有一个extJs4 - spring MVC应用程序。 我想声明一个包含用户信息(名称,名字,角色)的变量。使用角色,我们可以将字段设置为只读或隐藏应用程序的某些部分。
在我的app.js中:
Ext.application({
name: 'appname',
appFolder: 'js/app',
enableQuickTips:true,
controllers: [
'MainController',....
],
autoCreateViewport: true,
globals:
var1 : 5 //it works for simple variable
});
我想用这个
创建商店变量var appglobalstore = Ext.getStore('MyStore');
这是不可能的:
globals:
appglobalstore : Ext.getStore('MyStore');
为了获得像这样的极值(我猜)
var role= appname.app.globals.role
有可能吗?或者,如果它不可能,我必须申报这个角色吗?像那样
var role = Ext.getStore('myStore').getAt(0).raw.role;
答案 0 :(得分:2)
为您的应用程序指定的名称是ExtJS为您提供的全局变量的名称。
所以,你可以这样做:
appname.role = role = Ext.getStore('myStore').getAt(0).raw.role;
然后您可以通过以下方式访问您的角色:
var x = appname.role;
您可以在应用的启动属性中将值分配给“appname.role”:
Ext.application({
name: 'appname',
appFolder: '/extjs-app/app',
controllers: [
'MainController', ..
],
requires: [
'appname.utils.Logger', ...
],
autoCreateViewport: true,
launch: function() {
appname.role = role = Ext.getStore('myStore').getAt(0).raw.role;
}
});