全局变量sencha touch 2.1

2024-03-02

您好,我需要定义一个全局变量以在我的应用程序的任何位置使用。 我声明了一个全局变量baseUrl in my app.js。请看下面 应用程序.js

    //<debug>
Ext.Loader.setPath({
    'Ext': 'touch/src',//Location of the sencha touch source files
    'bluebutton': 'app',



});
//</debug>



Ext.application({
    name: 'bluebutton',//Application Path, all classes in you app. For eg blueButton.view.Main.case sensitive

    views: ['Main',

    'BlueButton.CouponMain',
    'BlueButton.CouponList',
    'BlueButton.CouponList2',
    'BlueButton.CouponList3',

    'BlueButton.TransactionMain',


    ],



   stores : [
   'BlueButton.GlobalVariable',


   ], 

    models : ['BlueButton.GlobalVariable',
    'BlueButton.MemberDetail',


     ],



    controllers: ['Main', 
    'BlueButton.MemberList', 


    ],



    requires: [
        'Ext.MessageBox',

    ],

    icon: {
        '57': 'resources/icons/Icon.png',
        '72': 'resources/icons/Icon~ipad.png',
        '114': 'resources/icons/[email protected] /cdn-cgi/l/email-protection',
        '144': 'resources/icons/[email protected] /cdn-cgi/l/email-protection'
    },

    isIconPrecomposed: true,

    startupImage: {
        '320x460': 'resources/startup/320x460.jpg',
        '640x920': 'resources/startup/640x920.png',
        '768x1004': 'resources/startup/768x1004.png',
        '748x1024': 'resources/startup/748x1024.png',
        '1536x2008': 'resources/startup/1536x2008.png',
        '1496x2048': 'resources/startup/1496x2048.png'
    },


    //--Global value--
    baseUrl: 'http://192.168.251.108:8080',
    //--Global value--



    launch: function() {

        // Destroy the #appLoadingIndicator element
        Ext.fly('appLoadingIndicator').destroy();


        // Initialize the main view

             var LoginLS = Ext.getStore('LoginLS');
             LoginLS.load();

             var record =  LoginLS.getAt(0);



            if(record != undefined){
                var sessionId = record.get('sessionId');
               if (sessionId !=undefined){
                        var mainView = Ext.getCmp("mainview");
                        if(!mainView){
                        mainView = Ext.create('bluebutton.view.Main');
                        }

                        Ext.Viewport.setActiveItem(mainView);  
               }
               else
               {
                        var loginView = Ext.getCmp("loginview");
                        if(!loginView){
                        loginView = Ext.create('bluebutton.view.Login');
                        }

                        Ext.Viewport.setActiveItem(loginView); 
                }
            }
            else{
                      var loginView = Ext.getCmp("loginview");
                        if(!loginView){
                        loginView = Ext.create('bluebutton.view.Login');
                        }

                        Ext.Viewport.setActiveItem(loginView); 



//                        //--Disable this line --
//                          var mainView = Ext.getCmp("mainview");
//                        if(!mainView){
//                        mainView = Ext.create('bluebutton.view.Main');
//                        }

//                        Ext.Viewport.setActiveItem(mainView);  
//                         //--Disable this line --





               }




//        Ext.create('bluebutton.view.TopMenuList');

    },

     init: function () {
        this.callParent(arguments);

    },


    onUpdated: function() {
        Ext.Msg.confirm(
            "Application Update",
            "This application has just successfully been updated to the latest version. Reload now?",
            function(buttonId) {
                if (buttonId === 'yes') {
                    window.location.reload();
                }
            }
        );
    }
});

model.js

Ext.define('bluebutton.model.BlueButton.CouponList', {
    extend: 'Ext.data.Model',
    config: {
        idProperty: 'couponId',
        fields: [
            {  name: 'couponId'  },
            {  name: 'couponName'  },
            {  name: 'description'  },
            {  name: 'amount'  },
            {  name: 'couponType'  },

            {  name: 'merchant_bbID'  },
            {  name: 'sessionId'  },
            {  name: 'deviceId'  },



        ],

        proxy: {
            type: 'rest',
            url: bluebutton.app.baseUrl +'/WebCommon/rest/BBWebService/getCouponList',


            actionMethods: {
                create: 'POST',
                read: 'GET',
                update: 'PUT',
                destroy: 'DELETE'
            },


                      noCache: false, // get rid of the '_dc' url parameter

                    extraParams: {
                    sessionId: "1",
                      merchant_bbID: "merchant1",

                },


//            timeout:1000,
//            listeners: {
//                exception: function(proxy, response, operation) {
//                     alert("Connection Problem");
//                       Ext.Viewport.setMasked(false); // hide the load screen
//                       
//                  }
//               },

            reader: {
                type: 'json',
                 rootProperty: 'couponList'

            },

            writer: {
                type: 'json',

            },
        }



    }

});

然后我在 model.js 中使用 basedUrl。 当我使用浏览器查看时它可以工作。但是当我使用Sencha 应用程序构建测试编译我的应用程序,

我使用浏览器打开,它显示一条错误消息未捕获的类型错误:无法读取未定义的属性“baseUrl”。任何想法?


当您进行生产构建时,sencha 应用程序中的所有文件都将被缩小,因此全局变量可能会丢失上下文。

有多种方法可以在 sencha 应用程序中声明全局变量

-> 第一种方法

在 util/Config.js 中声明全局变量

实用程序/Config.js

Ext.define('APP.util.Config', { 
    singleton : true,
    alias : 'widget.appConfigUtil',
        config : {
        baseUrl : 'xx.xx.xx.xxx',
    },
    constructor: function(config) {
        this.initConfig(config);
        this.callParent([config]);
    }
})  

改变在app.js

requires : [ 'App.util.Config']

现在,您可以在您的应用程序中使用它,如下所示。

var baseUrl = App.util.Config.getBaseUrl();

第二种方法->

在类定义之前在 .js 文件中声明全局变量

var baseUrl;

Ext.define('classname,{Other things });
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

全局变量sencha touch 2.1 的相关文章

  • 在C程序中,是否可以将所有全局变量重置为默认值?

    我有一个旧版 C Linux 应用程序需要重用 该应用程序使用了很多全局变量 我想重用该应用程序的主要方法并在循环中调用它 我发现当我在循环中调用 main 方法 重命名为 callableMain 时 应用程序行为不一致 因为先前迭代中设
  • Objective-C:何时知道您正在滥用全局变量的 SIngleton 方法

    因此 我的客户 iPhone 应用程序在过去几周内已从 5 个左右的课程增加到超过 25 个课程 对于如此大的 无论如何对于 iPhone 来说 类结构 我一直在利用 Singleton 类来访问全局变量 问题是 每当我需要访问我正在处理的
  • 在 C 中将可变长度数组声明为全局变量

    如何将可变长度数组声明为全局变量 当在扫描长度之前在函数中声明可变长度数组时 它会编译但不会运行 它给出了分段错误 当相同的声明语句移动到扫描语句下方时 它运行良好 如果我们想要一个全局可用于所有函数的可变长度数组 我们该怎么做呢 这里的问
  • PHP 自动“GET”变量

    我正在为我的公司设计一个新网站 我正在尝试实现切换导航 这是我过去在所有网站上使用的 由于某种原因 当我转到index php x products 时没有任何反应 它仍然显示 inc main php 换句话说 它没有从 URL 中检测到
  • 在 JavaScript 中使用全局变量

    我该怎么做呢 我的代码是这样的 var number null function playSong artist title song id alert old number was number var number 10 alert n
  • 如何使用 webpack 访问全局对象(窗口)?

    我正在尝试使用 JavaScript 将 ActionScript 与 JavaScript 连接起来ExternalInterface和网络包 ExternalInterface只能挑起 call 在全局对象 window 我如何获得 w
  • 使用 $& 全局变量的编程别名方法

    我正在尝试给一个使用 Ruby 特殊方法的方法起别名 返回最后一个正则表达式匹配 http jimneath org 2010 01 04 cryptic ruby global variables and their meanings h
  • 无法从静态初始化代码启动 CUDA 内核

    我有一个在其构造函数中调用内核的类 如下所示 标量场 h include
  • 如何避免全局常量的“多重定义”错误?

    我正在使用 Windows API 编写 C 程序 每个主要函数都有自己的文件 并且有一个用于原型和包含内容的标头 Headers global constants pragma once define WIN32 LEAN AND MEA
  • 单例类 iPhone

    好吧 我试图避免全局变量 所以我阅读了单例类 这是尝试设置和读取可变数组 但结果为空 Content h interface Content NSObject NSMutableArray contentArray Content shar
  • 在 Bash 中的函数内部使用声明

    我想使用函数更改全局变量 或至少附加到它 input Hello example input func declare x example input World func echo input 其输出将是 Hello 的原始值 如果该函数
  • 函数中更改全局变量无效

    我刚刚尝试了这段代码 number 2 Function Convert Foo number 3 Convert Foo number 我期待这个功能Convert Foo会改变 number到3 但仍然是2 为什么不是全局变量 numb
  • 如何全局公开 es6 模块

    我需要编写一个可在全局窗口上使用的模块 我使用 es6 创建模块 我定义的每个类都有它自己的文件 我正在使用 webpack 来 babelify 并捆绑这些类 我的模块的入口点也是包含要公开的全局的文件 我尝试了各种方法来实现这一点 包括
  • 如何在 Ruby 中使用全局变量或常量值?

    我有一个看起来像这样的程序 offset Point new 100 200 def draw point pointNew offset point drawAbsolute point end draw Point new 3 4 指某
  • 如何干净地处理全局变量?

    我有许多 aspx 页面 50 我需要在每个页面中声明一些 5 7 全局变量 一个页面中的变量独立于其他页面 即使有些变量可能相同 目前我在页面顶部和任何函数之外声明 我应该采取不同的方法吗 这种方法有副作用吗 如果完全重复 请告诉我 谢谢
  • R 错误:无法更改锁定绑定的值

    我试图估计无限数字流的平均值和标准差 当我运行代码时 出现错误消息 无法更改锁定绑定的值 我做了一些研究 发现这个错误与我使用全局变量有关 但我无法弄清楚 任何帮助将非常感激 在此先感谢您的帮助 define global variable
  • 全局变量用例

    我有几个脚本和模块 它们使用全局变量来完成很多事情 我的日志记录可以采用以下三种形式之一 简洁 详细和验证 没有实际操作的详细日志记录 仅验证提供的数据 我还有许多函数 它们根据运行的上下文 用户或机器 而做出不同的响应 并且正在执行的操作
  • 如何在 Perl 中的不同包之间共享全局值?

    是否有一种标准方法可以对模块进行编码以保存要包含在每个其他包中的全局应用程序参数 例如 use Config 一个简单的包 只包含our变量 只读变量怎么样 已经有一个标准配置模块 http perldoc perl org Config
  • PHP 类中的命名空间和全局变量问题

    我陷入了这种困惑 我不明白为什么我的 HelperClass 下的全局 error 返回空 我可以验证 class gt error 确实之前已填充了数据 在这种情况下 命名空间是否存在某种我不知道的问题 请给我一些指点 以下是一些相关的代
  • 动态链接共享库中的全局变量和静态变量会发生什么情况?

    我试图了解当具有全局变量和静态变量的模块动态链接到应用程序时会发生什么 我所说的模块是指解决方案中的每个项目 我经常使用 Visual Studio 这些模块内置于 lib 或 dll 或 exe 本身中 据我所知 应用程序的二进制文件包含

随机推荐

  • gcloud 应用程序部署“--appyaml”标志似乎不起作用

    对于 Google App Engine 我想注入env variables进入我的app yaml部署后 在文档中gcloud app deploy 我看到有标志 appyaml这将 使用特定的 app yaml 进行部署 该 app y
  • ASP.NET MVC - 显示项目列表,每个项目都有一个项目列表

    我希望这是解释这一点的最好方式 我有 3 个视图对象 学校 课程和班级 每所学校都有多个课程 每个课程可以有多个班级 将一门课程视为一个学习计划 班级是实际的班级 在我的主视图中 我显示所有学校 然后单击一所学校即可转到它 在该 课程视图
  • Zend Framework:控制器目录中的子目录

    我正在为我的网站使用 Zend Framework 并且刚刚创建了一个特殊的模块 api 来创建 嗯 一个 API 现在 我的模块中有很多控制器 我想在此控制器目录中创建子目录以 整理 它 我的新结构将是这样的 controllers co
  • 根据条件删除整行无法处理 400,000 行

    我有这个宏来删除那些不是 chr9 的整行 我总共有 401 094 行 它似乎编译得很好 但我的 Excel 冻结了 我必须强制退出 我认为这可能是一个低效的算法或者代码中的一些错误 Sub deleteNonChr9 Dim lastr
  • 用 nom 5.0 解析数字

    我正在尝试使用 Nom 5 0 解析一个大文件 数十 GB 流 解析器的一部分尝试解析数字 use nom IResult use nom character streaming char digit1 use nom character
  • 在测试中覆盖 Django 缓存设置

    我在用着Django DummyCache https docs djangoproject com en 1 8 topics cache dummy caching for development然而 在我的测试中 有一些测试依赖于真实
  • Pandas 重新索引数据框问题

    假设我有以下数据框 A B 0 1986 87 232131 1 1987 88 564564 2 1988 89 123125 等等 我正在尝试重新索引
  • 如何更改 heatmap.2 中的颜色键值?

    如上面的截图所示 我使用了该功能heatmap 2 here 我怎样才能改变 Value 在颜色编码栏中任何其他名称 人们可以只使用 gplots 包中的数据 library gplots data mtcars x lt as matri
  • 亚马逊的 AWS.NodeHttpClient - 没有文档:(

    我正在编写一个 lambda 函数 必须将日志写入 Amazon 的 ElasticSearch 服务 后端是Node js 我在 github 上发现了这个例子 https github com awslabs amazon elasti
  • 代码高尔夫:找到所有字谜

    一个词是一个anagram http en wikipedia org wiki Anagram如果该单词中的字母可以重新排列以形成不同的单词 Task 按字符数查找给定单词列表的所有字谜组的最短源代码 空格和换行符应计为字符 使用代码尺
  • grpc python 支持客户端和服务器上的多线程

    我想知道 grpc python 支持多线程吗 请分享一些参考 我已经在单线程中编写了代码 但不知道如何在多线程中编写 gRPC Python 在客户端和服务器上都支持多线程 至于服务器 您将创建带有线程池的服务器 因此默认是多线程的 对于
  • Rails 应用程序在 Heroku 上找不到 fontawesome 图标

    我安装了一个引导主题 一切在本地运行良好 但是 当我推送到 heroku 时 我的应用程序找不到字体 我预编译了资产并推送到heroku 但没有图标 因此 我在development rb中使用以下内容创建了像heroku这样的开发环境 c
  • 如何获取程序集 dll 的处理器架构? [复制]

    这个问题在这里已经有答案了 我可以通过在 C 中以编程方式加载 dll 来获取处理器架构吗 有没有一个类可以做到这一点 我需要了解 dll 是否是 x86 x64 MSIL 等 假设您只查看 net 程序集 您可以使用CorFlags ex
  • 如何查看 Fabric Composer 的日志

    我想查看 Fabric Composer 生成的运行时和客户端日志 但找不到它们 您能否提供有关如何访问日志的指导 运行时日志 如果你跑docker ps a您应该看到 3 个正在运行的 docker 容器 Docker 容器之一将是链码容
  • 如何将 rspec 与 before_validation 一起使用

    我无法理解如何正确使用 before validation 回调与 Rspec 模型 类别 rb class Category lt ActiveRecord Base validates presence of name permalin
  • CXF - com.ctc.wstx.exc.WstxUnexpectedCharException:非法字符((CTRL-CHAR,代码 5))

    我在互联网上发现问题是soap请求包含unicode char for ctrl v 这是Xml中的非法字符 我不知道它是如何进入String的 但我想简单地在服务器端删除它 有人可以告诉我如何解决这个问题吗 我找到了这个片段 XMLOut
  • Java 关闭连接和 findbugs

    在我们的代码中 我们通常使用以下模式 Connection conn try conn getConnection Do databasey stuff catch Exceptions that get thrown finally tr
  • 如何在内核模块代码中添加poll函数?

    据我所知 要从内核空间通知用户空间 一种方法是使用 poll 这意味着内核驱动程序应该首先提供 poll 方法 下面的代码是从网上找到的 确实有效 include
  • Codeigniter:下拉验证 set_rules

    我可以知道如何确保用户选择了 Dr Mr Ms Mdm 当他们提交表单时 如果称呼为空白 它将返回 set rules 的错误消息 Code echo p Salutation salutationOptions array gt Dr g
  • 全局变量sencha touch 2.1

    您好 我需要定义一个全局变量以在我的应用程序的任何位置使用 我声明了一个全局变量baseUrl in my app js 请看下面 应用程序 js