【问题标题】:extjs 4 how to declare a global variable from a storeextjs 4 如何从商店声明一个全局变量
【发布时间】:2023-03-29 01:50:01
【问题描述】:

我们有一个 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

});

我想用这个创建 store 变量

var appglobalstore = Ext.getStore('MyStore');

这是不可能的:

globals:
     appglobalstore : Ext.getStore('MyStore');

并且像这样在 extjs 中获得价值(我猜)

var role= appname.app.globals.role

有可能吗?或者,如果不可能,无论我需要这个角色,我都必须声明吗?像这样

var role = Ext.getStore('myStore').getAt(0).raw.role;

【问题讨论】:

    标签: variables extjs4 store global


    【解决方案1】:

    为您的应用指定的名称是 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;
       }
    });
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2019-02-13
      • 2014-10-30
      • 1970-01-01
      • 2012-03-30
      • 1970-01-01
      • 2011-03-22
      • 2011-02-12
      相关资源
      最近更新 更多