SenchaタッチV2でMVCビューを適切にアクティブ化する方法
-
26-10-2019 - |
質問
私はSencha Touch V2ベータを実行しています、そして私はせいぜい見ています 最近のドキュメント.
私はそれに従いました Ext.application
指示と私のMVCアプリケーションを適切にレイアウトしようとしています。残念ながら、このアプローチで実際にビューをロードする方法を理解することはできません。
index.js
Ext.application({
name: 'rpc',
defaultUrl: 'home/index',
controllers: ['home'], //note: define controllers here
launch: function () {
console.log('Ext.application ~ launch'),
Ext.create('Ext.TabPanel', {
id: 'rpc-rootPanel',
fullscreen: true,
tabBarPosition: 'bottom',
items: [{
title: 'Home',
iconCls: 'home'
}]
});
Ext.create('Ext.viewport.Viewport', {
id:'rpc-rootPanel',
fullscreen: true,
layout: 'card',
cardSwitchAnimation: 'slide'
});
}
});
homecontroller.js
Ext.define('rpc.controller.home', {
extend: 'Ext.app.Controller',
views: ['home.index'],
stores: [],
refs: [],
init: function () {
console.log('rpc.controller.home ~ init');
},
index: function () {
console.log('rpc.controller.home ~ index');
}
});
indexview.js
Ext.define('rpc.view.home.index', {
extend: 'Ext.Panel',
id: 'rpc-view-home-index',
config: {
fullscreen: true,
layout: 'vbox',
items: [{
xtype: 'button',
text: 'Videos',
handler: function () {
}
}],
html:'test'
}
});
あなたが提供できるかもしれない助けは大歓迎です。
解決
新しいリリースは、extjs 4で導入されたMVCコンセプトに従います。読む必要があります 建築ガイド Sencha Touchは同じアーチをたどるので、ここに私のフォルダー構造があります。
アプリケーションの開発中に、HTMLでSencha-Touch-All-Debug-Wcomments.jsを使用する必要があります。これは、アプリケーションのデバッグに役立ちます。
これがアプリケーションクラスです:
Ext.Loader.setConfig({enabled: true});
Ext.application({
name: 'rpc',
appFolder: 'app',
controllers: ['Home'],
launch: function () {
Ext.create('Ext.tab.Panel',{
fullscreen: true,
tabBarPosition: 'bottom',
items:[{
title: 'Home',
iconCls: 'home',
html: '<img src="http://staging.sencha.com/img/sencha.png" />'
},{
title: 'Compose',
iconCls: 'compose',
xtype: 'homepage'
}]
});
}
});
エイリアス(XType: 'Homepage')を使用してホームページビューをどのように含めたかに注意してください。
これがコントローラーです:
Ext.define('rpc.controller.Home', {
extend: 'Ext.app.Controller',
views: ['home.HomePage'],
init: function() {
console.log('Home controller init method...');
}
});
そして最後に、私のホームページビュー:
Ext.define('rpc.view.home.HomePage', {
extend: 'Ext.Panel',
alias: 'widget.homepage',
config: {
html: '<img src="http://staging.sencha.com/img/sencha.png" />'
},
initialize: function() {
console.log("InitComponent for homepage");
this.callParent();
}
});
エイリアスプロパティは、必要に応じてクラスのインスタンスをインスタンスするために使用されます。 Ext.Createメソッドを使用することもできます。
これがあなたがSencha Touchを始めるのに役立つことを願っています。
他のヒント
アブデルによる素晴らしい答え。
この答えで示されているように、プロファイルを介してそれを行うこともできます。Sencha Touch 2.0 MVCチュートリアル
所属していません StackOverflow