Sencha Touch 2 MVC를 시작합니다. Ext 3 경험이 많지만 완전히 새로운 세상입니다.Ext.define/Ext.extend in Sencha Touch 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);
}
}
}
);
이 오류가 없음을로드하고 심지어에서 양식 항목을 추가 할 수 있습니다 구성 섹션. 그러나 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가 작동하도록하려면 어떻게해야합니까? 어떤 코드를 인용 부호로 묶어 사용하지 않는 것이 좋을까요?
감사합니다.