私はちょうどSencha Touch 2 MVCを手に入れようとしています。 Ext 3の経験は大変ですが、これはまったく新しい世界です。Ext.define/Ext.extend in Sencha Touch 2
私は非常に遠くから見ることはできません。私はインターネット上で見たことに基づいて2つの方向で自分のコードを取りましたが、どちらも動作しません。
パス1
マイapp.js:
Ext.application({
name: 'BkAdmin',
views: ['LoginForm'],
launch: function() {
Ext.create('BkAdmin.view.LoginForm');
}
});
マイビュー/ LoginForm.js:
Ext.define('BkAdmin.view.LoginForm', {
extend: 'Ext.form.FormPanel',
config: {
fullscreen: true,
initComponent: function() {
alert('yo!');
BkAdmin.view.LoginForm.superclass.initComponent.apply(this, arguments);
}
}
}
);
これは、エラーのないロードして、私もでフォーム項目を追加することができますconfigセクション。しかし、initComponent()は決して呼び出されないので、ビューは完全に柔軟ではありません。
パス2
マイapp.js:
Ext.application({
name: 'BkAdmin',
views: ['LoginForm'],
launch: function() {
BkAdmin.view.LoginForm = new BkAdmin.view.LoginForm();
}
});
マイビュー/ LoginForm.js:
BkAdmin.view.LoginForm = Ext.extend(Ext.form.FormPanel, {
fullscreen: true,
initComponent: function() {
alert('yo!');
BkAdmin.view.LoginForm.superclass.initComponent.apply(this, arguments);
}
});
このフラットアウトが動作しません。 Chromeは 'プロパティを設定できません' '未定義のLoginForm' ...どのように地球上で未定義になったのですか?また、 'BkAdmin.view.LoginForm'というファイルがロードされても、次のクラスは宣言されません。 '確かに私に宣言されたルックス。
多くの質問はここにあります:上記のパスで何が間違っていましたか?パス1でinitComponent()を呼び出し、パス2を動作させるにはどうすればよいですか?どのコードが引用符で囲まれていますか?
ありがとうございます!