Sencha Touch 2全球变量-随时随地访问



我知道这个问题已经发布在StackOverflow中了,但我要么不理解,要么sencha有所改变。

我的应用程序加载一个表单面板进行登录,然后我想保存刚刚登录的用户信息。这样,我可以随时更改我的视图,并且仍然知道登录用户的名称。

这是我的主要代码:

//<debug>
Ext.Loader.setPath({
    'Ext': 'sdk/src'
});
//</debug>
Ext.application({
    name: 'APP',
    loadedUser: 'the test',
    requires: ['Ext.MessageBox'],
    views: ['Main', 'Home', 'Login'],
    models: ['User'],
    stores: ['Users'],
    controllers: ['Main'],
    icon: {
        57: 'resources/icons/Icon.png',
        72: 'resources/icons/Icon~ipad.png',
        114: 'resources/icons/Icon@2x.png',
        144: 'resources/icons/Icon~ipad@2x.png'
    },
    phoneStartupScreen: 'resources/loading/Homescreen.jpg',
    tabletStartupScreen: 'resources/loading/Homescreen~ipad.jpg',
    setLoadedUser: function(arg) {
        this.loadedUser = arg;
    },
    launch: function() {
        // Destroy the #appLoadingIndicator element
        Ext.fly('appLoadingIndicator').destroy();
        // Initialize the main view
        Ext.Viewport.add(Ext.create('APP.view.Main'));
    },
    onUpdated: function() {
        Ext.Msg.confirm("Application Update", "This application has just successfully been updated to the latest version. Reload now?", function() {
            window.location.reload();
        });
    }
});

"loadedUser"是我想要的全局变量,方法setLoadedUser(arg)用于更改该值。

我可以访问"loadedUser",没有问题,但我无法更改其值。另一个问题:loadedUser可以是数组/数据结构吗?

您是如何访问该函数的?这对我有用。记住你应该这样访问它:

APP.app.setLoadedUser('test');

是的,它可以是任何值。:)

您还可以使用localStorage来设置/获取您的变量:
设置为:localStorage.setItem('currentUserId', userID)
获取为:localStorage.getItem('currentUserId')
您可以在脚本中的任何位置使用它。

是的,当函数在app.js文件中时,它就起作用了。如果函数在控制器文件中,则它不起作用。

因此,如果您有一个名为IronMan的项目应用程序,那么从视图代码到app.js文件中全局函数flyAway()的调用将如下所示:

IronMan.app.flyAway();

相关内容

  • 没有找到相关文章

最新更新