简体   繁体   English

我怎么能使用“var = new Ext.Panel”并且只能使用viewport或Ext.define? (sencha touch 2)

[英]How could I work with “var = new Ext.Panel” and only viewport or Ext.define? (sencha touch 2)

How could I work with "var = new Ext.Panel" and only viewport or Ext.define? 我怎么能使用“var = new Ext.Panel”并且只能使用viewport或Ext.define?

Hello World! 你好,世界!

I have some doubts about views, models and controllers in sencha touch 2. 我对sencha touch 2中的视图,模型和控制器有些怀疑。

Could I work like this way? 我可以这样工作吗?

app.js app.js

Ext.Viewport.add(menu);

app/view/Menu.js 应用程序/视图/ 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
  ]
});

I don't have problems when I work with PHP because my Ext is embedded in the PHP file and includes different files. 我使用PHP时没有问题,因为我的Ext嵌入在PHP文件中并包含不同的文件。 But when I work with js files and I want to use MVC with sencha cmd I don't know how to indicate to Ext to include my view files without declare Ext.define in each file. 但是当我使用js文件并且我想将MVC与sencha cmd一起使用时,我不知道如何指示Ext包含我的视图文件而不在每个文件中声明Ext.define。

To sum up, how to refer to the view, controller and models without using xtype?, just call the variable created in the js file. 总而言之,如何在不使用xtype?的情况下引用视图,控制器和模型,只需调用js文件中创建的变量即可。

best regards. 最好的祝福。

You could do it that way. 你可以这样做。 Did you build the initial project using Sencha CMD? 您是否使用Sencha CMD构建了初始项目?

I believe you will still need to use Ext.define(... to make use of the MVC structure in ST. 我相信你仍然需要使用Ext.define(...来利用ST中的MVC结构。

You could do something like 你可以做点什么

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

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM