sencha touch在android物理后退键解决方法

像ionic我们可以用route.js去专门管理路由地址,但在sencha touch,由于页面地址固定,只能通过虚拟后退键去实现后退,但Android自带的后退键类似浏览器后退键,点击是直接退出app的,而不是返回上一页。其实在sencha touch也可以通过路由方式记录页面,这样就可用物理后退键去返回了,一个简单的登录注册例子如下:

首先在controller中定义一个专门管理页面切换的文件,这里的关键是routes,它是用来记录当前的地址如下:

Ext.define('app.controller.Main', {
    extend: 'Ext.app.Controller',
    config: {
        views: [],
        refs: {
            main: 'cardPanel',
        },
        routes: {
            'userRegister': 'userRegister',
            'login': 'userLogin',
        },
        control: {
            showView: {
                tap: function (t, value) {
                    this.redirectTo(t.config.goto);
                }
            }
        }
    },
    /*跳转到注册页*/
    userRegister: function () {
        this.getMain().pushView('userRegister', '注册');
    },
    userLogin: function () {
        this.getMain().popAllAndPush('userLogin', '登录');
    },
});

其次就是我们登录及注册页面的控制器代码,如下:

Ext.define('app.controller.User', {
    extend: 'Ext.app.Controller',
    config: {
        views: ['user.Login'],
        models: [],
        refs: {
            login: 'userLogin [action=login]',
            register: 'userLogin [action=register]',
        },
        control: {
            //点击注册
            register: {
                tap: function () {
                    this.redirectTo('userRegister');
                }
            },
            //开始登录
            login: {
                tap: function () {
                    Ext.Msg.alert('zebinhao');
                }
            },
        }
    },
    launch: function () {
        this.logUserEroor();
    },

    //登录失败
    logUserEroor: function (message) {
        var me = this;
        if (message) {
            this.getMain().showMessage(message);
        }
        this.redirectTo('login');
    },
});


这样就简单的实现了页面与URL地址的联动,具体页面view就自由发挥了。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值