Sencha Touch 2控制器初始化/启动不'不要开火

Sencha Touch 2 Controller init/launch doesn't fire

本文关键字:开火 启动 Touch 控制器 初始化 Sencha      更新时间:2023-09-26

代码如下。

我所要做的就是从我的登录控制器加载登录视图。但是,我发现登录控制器没有正确加载。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/Logn.js未加载

我自己想好了。。。

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');
  }
});