Extjs6(特别篇)——项目自带例子main.js拆分详解

摘要:
header:{layout:{align:'stretchmax'},title:{bind:{text:'{name}'},flex:0},iconCls:'fa-th-list'},4、tab切换栏的layout也用到了类似的,align:'stretch'表示子元素延伸至填满父容器。高较大的时候,tab栏在上;宽较大的时候,tab栏在左(如下图)responsiveConfig:{tall:{headerPosition:'top'},wide:{headerPosition:'left'}},6、defaults里面是一些默认设置,主要是响应式的设置,宽高不同时,图标文字位置不同。defaults:{bodyPadding:20,tabConfig:{plugins:'responsive',responsiveConfig:{wide:{iconAlign:'left',textAlign:'left'},tall:{iconAlign:'top',textAlign:'center',120}}}},7、这里面包含了tab按钮和相对应的内容,第一个Home中的内容通过xtype调用了另一个文件list.js,其余几个内容是从main的viewModel中取的。

本文基于extjs6.0.0

一、拆分代码来看看

1、主页面main是个tab页;

写一些页面的依赖;

标明页面的controller和viewModel

Ext.define('Learning.view.main.Main', {
    extend: 'Ext.tab.Panel',
    xtype: 'app-main',

    requires: [
        'Ext.plugin.Viewport',
        'Ext.window.MessageBox',
        'Learning.view.main.MainController',
        'Learning.view.main.MainModel',
        'Learning.view.main.List'
    ],
  controller: 'main',
    viewModel: 'main',

2、用了自定义的ui,后面三行不知道是啥

ui: 'navigation',
    tabBarHeaderPosition: 1,
    titleRotation: 0,
    tabRotation: 0,

3、title是从viewModel中取的;

layout中的 align: 'stretchmax' 表示子元素的高度垂直延伸到最大的那个元素。(没有则如下图)

header: {
        layout: {
           align: 'stretchmax'
},
        title: {
            bind: {
                text: '{name}'
            },
            flex: 0
        },
        iconCls: 'fa-th-list'
    },

Extjs6(特别篇)——项目自带例子main.js拆分详解第1张

4、tab切换栏的layout也用到了类似的,align: 'stretch' 表示子元素延伸至填满父容器。(没有则如下图)

tabBar: {
        flex: 1,
        layout: {
           align: 'stretch',
            overflowHandler: 'none'
        }
    },

Extjs6(特别篇)——项目自带例子main.js拆分详解第2张

5、这个算是响应式吧。高较大的时候,tab栏在上;宽较大的时候,tab栏在左(如下图)

responsiveConfig: {
        tall: {
            headerPosition: 'top'
        },
        wide: {
            headerPosition: 'left'
        }
    },

Extjs6(特别篇)——项目自带例子main.js拆分详解第3张Extjs6(特别篇)——项目自带例子main.js拆分详解第4张

6、defaults里面是一些默认设置,主要是响应式的设置,宽高不同时,图标文字位置不同。(可参考上图)

defaults: {
        bodyPadding: 20,
        tabConfig: {
            plugins: 'responsive',
            responsiveConfig: {
                wide: {
                    iconAlign: 'left',
                    textAlign: 'left'
                },
                tall: {
                    iconAlign: 'top',
                    textAlign: 'center',
                     120
                }
            }
        }
    },

7、这里面包含了tab按钮和相对应的内容,第一个Home中的内容通过xtype调用了另一个文件list.js,其余几个内容是从main的viewModel中取的。

items: [{
        title: 'Home',
        iconCls: 'fa-home',
        //The following grid shares a store with the classic version's grid as well!
items: [{
            xtype: 'mainlist'
        }]
    }, {
        title: 'Users',
        iconCls: 'fa-user',
        bind: {
            html: '{loremIpsum}'
        }
    }, {
        title: 'Groups',
        iconCls: 'fa-users',
        bind: {
            html: '{loremIpsum}'
        }
    }, {
        title: 'Settings',
        iconCls: 'fa-cog',
        bind: {
            html: '{loremIpsum}'
        }
    }]
});

文中包含一定的主观理解,可能用词不够准确,仅供参考。

完。

免责声明:文章转载自《Extjs6(特别篇)——项目自带例子main.js拆分详解》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇关于Javaweb的比较好用的jar包概述umilit 修改 linux 最多可打开文件数下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

【ExtJS】FormPanel 布局(一)

准备工作,布置一个最简单的Form,共5个组件,都为textfield。 1 Ext.onReady(function(){ 2 Ext.create('Ext.form.Panel', { 3 500, 4 title: 'Layout', 5      renderTo : 'form', 6 items:...

Ext.js弹窗上传文件

1.构建上传组件 var fileUpload = new Ext.FormPanel({ id:'fileUpload', frame:true, fileUpload:true, items:[{ xtype: 'filefield',...

ExtJS初学笔记---Ext.Msg.alert无效果

最近开始学ExtJS,书上的第一个例子是: 1 2 3 Ext.onReady(function(){     Ext.Msg.alert('Hello.', 'Hello'); }); 这个是ExtJS最简单的一个例子了,就是在页面上显示一个对话框,可是我运行却什么都没有显示。。。 在浏览器开发者工具的控制台中有如下错误信息: (...

转: ExtJS中xtype一览

转: ExtJS中xtype一览 基本组件: xtype Class 描述 button Ext.Button 按钮 splitbutton Ext.SplitButton 带下拉菜单的按钮 cycle Ext.CycleButton 带下拉选项菜单的按钮 buttongroup Ext.ButtonGroup 编组按钮(Since...

ExtJS 4.2 教程-06:服务器代理(proxy)

在上一节我们介绍了客户端的几种代理,本节的主要内容是介绍如何使用服务器端代理,将重点介绍AjaxProxy,这是我们最常用的代理方式。 Ajax web应用程序开发过程中,与服务器端交互的技术最常用的就是Ajax了。Ajax 是使用Javascript创建一个HttpRequest,采用异步的方式从服务器获取数据。我们先看一个简单的示例: Ext.onR...

ExtJS学习之路第七步:contentEl与renderTo的区别

上回在Panel的应用中我们应该能大致区分开conteEl和renderTo,这回我们从定义中区分。 在Panel的API中, contentEl:String指定一个现有的HTML元素或者id作为此组件的内容。这个config选项是用来利用现有的HTML元素,并将其放置在一个新的组件的布局元素(它只是将指定的DOM元素移动到,已经被渲染的组件之中当内容...