如何使用"var=new Ext.Panel"并且仅使用viewport或Ext.define?
你好,世界!
我对sencha touch 2中的视图、模型和控制器有一些疑问。
我可以这样工作吗?
app.js
Ext.Viewport.add(menu);
app/view/Menu.js
var list = new Ext.List({
title: 'Menu',
itemTpl: [
'<img src="resources/menu/{icon}" align="center"/>',
'<span style="margin-left:15px;">{title}</span>'
],
data: [
{title: 'Sell', icon: 'sell.png'}, {title: 'Warehouse', icon: 'warehouse.png'},
{title: 'Transfers', icon: 'transfers.png'},
{title: 'Reports', icon: 'reports.png'}
]
});
var menu = new Ext.navigation.View({
useTitleForBackButtonText: true,
layout: 'card',
items: [
list
]
});
当我使用PHP时,我不会遇到问题,因为我的Ext嵌入在PHP文件中,并包含不同的文件。但是,当我使用js文件,并且我想将MVC与sencha cmd一起使用时,我不知道如何指示Ext在每个文件中不声明Ext.define的情况下包括我的视图文件。
综上所述,如何在不使用xtype的情况下引用视图、控制器和模型?,只需调用在js文件中创建的变量。
致以最良好的问候。
你可以这样做。您是否使用Sencha CMD构建了最初的项目?
我相信您仍然需要使用Ext.define(…)来利用ST.中的MVC结构
你可以做一些类似的事情
MyApp/view/MyView.js
var menu = new Ext.List({...etc...});
Ext.define('MyApp.view.Nav', {
extend: 'Ext.NavigationView',
items: [{
list //maybe me.list or this.list if scope is out.
}, {
//another nav view card
}
});
//app.js
Ext.Viewport.add(MyApp.view.Menu);
// if you provide an xtype you can use
Ext.Viewport.add({xtype: 'myxtype'});