【问题标题】:Sencha Touch 2 Controller init/launch doesn't fireSencha Touch 2 控制器初始化/启动不触发
【发布时间】:2014-04-17 10:30:47
【问题描述】:

代码如下。

我要做的就是从我的登录控制器加载登录视图。但是,我发现登录控制器没有正确加载。既不调用launch() 也不调用init()。谁能帮帮我?

提前致谢!!

app/app.js

Ext.Loader.setConfig({
  disableCaching: false,
  enabled: true
});

Ext.application({
  name: 'KangasK',
  models: [],
  stores: [],
  controllers: [
    'Login'
  ],
  views: [
  ],

  launch: function() {
    alert('launch app');
  }

});

app/controller/Login.js

Ext.define('KangasK.controller.Login', {
  extend: 'Ext.app.Controller',
  views: ['Login'],
  stores: [],
  config: {
    refs: {
      loginBtn: '#loginBtn'
    },
    control: {
      loginBtn: {
        tab: 'login'
      }
    },

    init: function() {
      alert('init')
    },

    launch: function() {
      alert('launch login');
    }
  }

});

app/view/Login.js

Ext.define('KangasK.view.Login', {
  extend: 'Ext.form.Panel',
  alias: 'widget.loginview',
  config: {
    items: [
      {
        xtype: 'fieldset',
        title: 'Login',
        items: [
          {
            xtype: 'textfield',
            placeHolder: 'Username',
            itemId: 'username',
            name: 'username',
            required: true
          },
          {
            xtype: 'passwordfield',
            placeHolder: 'Password',
            itemId: 'password',
            name: 'password',
            required: true
          }
        ]
      },
      {
        xtype: 'button',
        itemId: 'logInButton',
        ui: 'action',
        padding: '10px',
        text: 'Login'
      }
    ]
  }
});

PS:在浏览器中显示 app/controller/Login.js 已加载,但 app/view/Login.js 未加载。

【问题讨论】:

    标签: javascript extjs sencha-touch touch sencha-touch-2.3


    【解决方案1】:

    我自己想通了……

    init 和 launch 不应在 config 中:{}

    这行得通:

    Ext.define('KangasK.controller.Login', {
      extend: 'Ext.app.Controller',
      config: {
        views: ['Login'],
        stores: [],
        refs: {
          loginBtn: '#loginBtn'
        },
        control: {
          loginBtn: {
            tab: 'login'
          }
    
        }
      },
      init: function() {
        console.log('init')
      },
    
      launch: function() {
        console.log('launch login');
      }
    });
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-11-03
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多