命名

  1.  
    The top-level namespaces and the actual class names should be CamelCased. Everything else should be all lower-cased. For example:MyCompany.form.action.AutoLoad
  2.  
    path/to/src is the directory of your application’s classespath/to/src is the directory of your application’s classes
  3.  
    Acceptable method names:encodeUsingMd5()
  4.  
    Acceptable variable names:var isGoodName

声明

Ext.define(className, members, onClassCreated);

获取值

Ext.define()中的Config中的值可以用getXxx,setXxx来获取,注意驼峰命名

  1.  
    config: {
  2.  
    title: 'Title Here',
  3.  
    bottomBar: {
  4.  
    height: 50,
  5.  
    resizable: false
  6.  
    }
  7.  
    }

技能

加上事件

下面例子就加上了click事件

  1.  
    var container = Ext.create('Ext.Container', {
  2.  
    renderTo: Ext.getBody(),
  3.  
    html: 'Click Me!',
  4.  
    listeners: {
  5.  
    click: function(){
  6.  
    Ext.Msg.alert('I have been clicked!')
  7.  
    }
  8.  
    }
  9.  
    });
  10.  
    container.getEl().on('click', function(){
  11.  
    this.fireEvent('click', container);
  12.  
    }, container);

widget not found

sencha app build

以上是打包的命令,运行后在build文件夹中会有production文件夹,东西都在那里面。
进去找到index.html点开后,如果报错,列如 widget/tabpanel.js 404 not found这种,那就找到用到tabpanel的地方,一般是因为你 xtype:tabpanel 这种地方,然后在相应的文件中,require下对应的名称即可,以tabpanel为例,requier写法如下:

  1.  
    requires: [
  2.  
    'Ext.container.Container',
  3.  
    'Ext.tab.Panel', //看这里!对就这里,这个值怎么查到的呢,很简单,就是xtype:tabpanel对应的那个名字啦(查官方文档)
  4.  
    'Ext.form.field.File'
  5.  
    ],

通用方法

查找元素ext.componentquery

  1.  
    我这智商,找了好久 orz
  2.  
     
  3.  
    var myPanel = Ext.ComponentQuery.query('#myPanel');
  4.  
    //实际使用过程中,需要写成这样才能真正拿到这个组件
  5.  
    myPanel[0]

具体项目

grid相关

表格不要隔行变色,属性竟然藏在这里viewConfig

  1.  
    viewConfig: {
  2.  
    stripeRows: false
  3.  
    }

表格多选行

  1.  
    //配置
  2.  
    selModel: {
  3.  
    selType: 'cellmodel',
  4.  
    mode : 'MULTI' //多选
  5.  
    }
  6.  
    //方法
  7.  
    getSelection()

表格中的内容无法选中解决方法

  1.  
    这个大腿必须抱啊![看这里](http://blog.csdn.net/yeshigudu/article/details/48522239)!!救人于水火啊!!!
  2.  
     
  3.  
    viewConfig: {
  4.  
    enableTextSelection: true
  5.  
    }

高亮行,

[取消高亮](http://forums.ext.net/showthread.php?868-CLOSED-Clearing-selection-from-a-gridpanel)

反正就是一把辛酸的泪,那些没设置延时的,你们怎么成功实现高亮的!!!
上结果:

  1.  
    var urlListTab = Ext.ComponentQuery.query('#urlListTab')[0];
  2.  
    setTimeout(function() {urlListTab.getSelectionModel().select(index, false, false)}, 800); //
  3.  
    index为行的index值。第一个false时,进入这个grid时,有其他的高亮行时,指定的这行就不亮了,这个就看看,实际用的时候再测测
  4.  
    //清除高亮
  5.  
    GridPanel1.getSelectionModel().clearSelections //当前高亮全部去除

tab

我只是简单的想隐藏个tab,结果智商是硬伤,官方文档里就有好不好 orz

  1.  
    var tabs = Ext.create('Ext.tab.Panel', {
  2.  
    width: 400,
  3.  
    height: 400,
  4.  
    renderTo: document.body,
  5.  
    items: [{
  6.  
    title: 'Home',
  7.  
    html: 'Home',
  8.  
    itemId: 'home' // 看这里!!! 是itemId,不是id!!!
  9.  
    }, {
  10.  
    title: 'Users',
  11.  
    html: 'Users',
  12.  
    itemId: 'users',
  13.  
    hidden: true
  14.  
    }, {
  15.  
    title: 'Tickets',
  16.  
    html: 'Tickets',
  17.  
    itemId: 'tickets'
  18.  
    }]
  19.  
    });
  20.  
     
  21.  
    Ext.defer(function(){
  22.  
    tabs.child('#home').tab.hide();
  23.  
    var users = tabs.child('#users');
  24.  
    users.tab.show();
  25.  
    tabs.setActiveTab(users);
  26.  
    }, 1000);

storestoreManager

先吐槽,store的水好深(其实我好想打三个点,但我要忍住)

拿到store

  1.  
    Ext.create('Ext.data.Store', {
  2.  
    model: 'SomeModel',
  3.  
    storeId: 'myStore'
  4.  
    });
  5.  
    var store = Ext.data.StoreManager.lookup('myStore');//用storeId拿到

用store

  1.  
    Ext.create('Ext.data.Store', {
  2.  
    model: 'SomeModel',
  3.  
    storeId: 'myStore'
  4.  
    });
  5.  
    Ext.create('Ext.view.View', {
  6.  
    store: 'myStore', //用storeId就到手啦,真好
  7.  
    // other configuration here
  8.  
    });

store具体方法

  1.  
    //特别提醒,先要拿到store,说多了都是泪
  2.  
    //增加内容
  3.  
    myStore.add({some: 'data'}, {some: 'other data'});
  4.  
    myStore.insert(index, records); //eg: myStore.insert(0, { "name": "hello", "age": "60"})
  5.  
    myStore.find('name', 'hello'); //返回的是序列号,即index
  6.  
    myStore.removeAt( index, [count] ) //嘿嘿嘿,拿到序号就可以删除啦

data

field

在这里可以重组field的数据

  1.  
    {
  2.  
    name: 'firstName',
  3.  
    convert: function (value, record) {
  4.  
    return record.get('name').split(' ')[0];
  5.  
    },
  6.  
    depends: [ 'name' ]
  7.  
    }

data.model

绑定数据相关,好好看看

ajax相关

我一定要写下来,最后我都把我自己感动了,太不容易了,拿个值。
Ext.ajax

  1.  
    Ext.define('ttt', function() {
  2.  
    return{
  3.  
    getData:function(){
  4.  
    var userData;
  5.  
    Ext.Ajax.request({
  6.  
    async: false,//就是这个地方!要加!不然return出来的是undefined
  7.  
    url: 'resources/userinfo.json',
  8.  
    success: function(response, opts) {
  9.  
    var obj = Ext.decode(response.responseText);
  10.  
    console.log('成功')
  11.  
    userData = obj;
  12.  
    },
  13.  
    failure: function(response, opts) {
  14.  
    console.log('server-side failure with status code ' + response.status);
  15.  
    userData = 'failure'
  16.  
    }
  17.  
    });
  18.  
    return userData;
  19.  
    }
  20.  
    }
  21.  
    })
  22.  
    var test = new ttt();
  23.  
    var userData = test.getData()
  24.  
    //我会说这个userData拿到了要来干嘛吗?
  25.  
     
  26.  
    //引入
  27.  
    viewModel: {
  28.  
    data: userData
  29.  
    }
  30.  
    //使用
  31.  
    {
  32.  
    xtype:'button',
  33.  
    bind: {
  34.  
    text: '{username}'//json里面有的字段就可以用啦
  35.  
    },
  36.  
    }
  37.  
     
  38.  
    //正常实用款
  39.  
    Ext.Ajax.request({
  40.  
    url: 'resources/userinfo.json',
  41.  
    success: function(response, opts) {
  42.  
    var data = Ext.decode(response.responseText);
  43.  
    //数据处理动起来
  44.  
    },
  45.  
    failure: function(response, opts) {
  46.  
    console.log('server-side failure with status code ' + response.status)
  47.  
    }
  48.  
     
  49.  
    });
  50.  
     
  51.  
    //亮点来啦!! [jsonp](http://docs.sencha.com/extjs/6.0/6.0.0-classic/#!/api/Ext.data.proxy.JsonP)
  52.  
    proxy: {
  53.  
    type: 'jsonp',
  54.  
    url : 'http://domainB.com/user',
  55.  
    callbackKey: 'callback', //亮点在这里,callback=Ext.data.JsonP.callback1 “callback”此字段名一定要匹配!!!
  56.  
    reader: {
  57.  
    rootProperty: 'rows',
  58.  
    totalProperty: 'resutls'
  59.  
    }
  60.  
    },

define

我觉得挺实用的,拉出来

  1.  
    Ext.define('My.awesome.Class', {
  2.  
    someProperty: 'something',
  3.  
    someMethod: function(s) {
  4.  
    alert(s + this.someProperty);
  5.  
    }
  6.  
    ...
  7.  
    });
  8.  
    var obj = new My.awesome.Class();
  9.  
    obj.someMethod('Say '); // alerts 'Say something'

base64

    1.  
      自带!!!
    2.  
       
    3.  
      //解码
    4.  
      res = Ext.util.Base64.decode(res);

ext笔记的更多相关文章

  1. ExtJs4 笔记(4) Ext.XTemplate 模板

    ExtJs4 笔记(4) Ext.XTemplate 模板 摘自:http://www.cnblogs.com/lipan/ 本篇将涉及到ExtJs中一个重要的概念,模板.话说Razor很神奇,但是我 ...

  2. 【Ext.Net学习笔记】07:后续

    这些笔记都是在这个地址看到的:http://www.qeefee.com/category/extnet 然后跟着敲,去理解的. Ext.NET其实就是基于跨浏览器的ExtJS库和.NET Frame ...

  3. 【Ext.Net学习笔记】06:Ext.Net GridPanel的用法(GridPanel 折叠/展开行、GridPanel Selection、 可编辑的GridPanel)

    GridPanel 折叠/展开行 Ext.Net GridPanel的行支持折叠/展开功能,这个功能个人觉得还说很有用处的,尤其是数据中包含图片等内容的时候. 下面来看看效果: 使用行折叠/展开功能之 ...

  4. 【Ext.Net学习笔记】05:Ext.Net GridPanel的用法(包含Filter、Sorter、Grouping、汇总(Summary)的用法)

    GridPanel是用来显示数据的表格,与ASP.NET中的GridView类似. GridPanel用法 直接看代码: <ext:GridPanel runat="server&qu ...

  5. 【Ext.Net学习笔记】04:Ext.Net中使用数据、Ext.Net Store的用法、Ext.Net ComboBox用法

    之前的几篇文章都是介绍Ext.Net较为基础的东西,今天的这一篇将介绍数据的一些用法,包括XTemplate绑定数据.Store(Modal.Proxy).ComboBox的用法等. XTemplat ...

  6. 【Ext.Net学习笔记】03:Ext.Net DirectEvents用法详解、DirectMethods用法详解

    Ext.Net通过DirectEvents进行服务器端异步的事件处理.[Ext.Net学习笔记]02:Ext.Net用法概览.Ext.Net MessageBus用法.Ext.Net布局 中已经简单的 ...

  7. 【Ext.Net学习笔记】02:Ext.Net用法概览、Ext.Net MessageBus用法、Ext.Net布局

    Ext.Net用法概览 Ext.Net还是很强大,如果运用熟练可以极大的提高编程效率.如果你也要学习Ext.Net,原文博主推荐书籍:<Ext.Net Web 应用程序开发教程>,是英文的 ...

  8. 【Ext.Net学习笔记】01:在ASP.NET WebForm中使用Ext.Net

    Ext.NET是基于跨浏览器的ExtJS库和.NET Framework的一套支持ASP.NET AJAX的开源Web控件,包含有丰富的Ajax运用,其前身是Coolite. 下载地址:http:// ...

  9. Ext.Net学习笔记24:在ASP.NET MVC中使用Ext.Net

    在前面的笔记中已经介绍了如何在ASP.NET WebForm中使用Ext.Net,由于这个系列一直在WebForm中使用,所以并没有涉及到ASP.NET MVC中的用法. 如果你要在ASP.NET M ...

随机推荐

  1. 骨骼动画反向动力学(IK)的实现

    反向动力学,Inverse Kinematics,简称IK.简单地说,由父骨骼的方位和子骨骼的相对变换得到子骨骼的方位,称为正向动力学(Forward Kinematics,FK):而IK则是先确定子 ...

  2. Codevs 1523 地精部落

    1523 地精部落 省队选拔赛  时间限制: 1 s  空间限制: 256000 KB  题目等级 : 大师 Master 题解       题目描述 Description 传说很久以前,大地上居住 ...

  3. 结合 webpack 使用 vue-router(七)

    结合 webpack 使用 vue-router: 首先安装路由包vue-router: cnpm install vue-router 使用模块化工具导入 vue-router 后,必须手动调用 V ...

  4. Devc++贪吃蛇

    使用Devc++写的一个简单版贪吃蛇程序,不过,在未配置之前,是不包含图形库的,所以需要自己配置新的环境 ----------------------------------------------- ...

  5. UVA11292(排序贪心)

    笔者休息娱乐. ; int n, m, a; ll solve(int n, int m) { ll ans = ; priority_queue<int, vector<int>, ...

  6. On the way to the park Gym - 101147I 几何

    http://codeforces.com/gym/101147/problem/I I. On the way to the park time limit per test 5 seconds m ...

  7. nodejs项目报Process finished with exit code 8错误

    看控制台打印出来的错误:Error: listen EADDRNOTAVAIL  这是监听ip错误,没有该端口号. 修改IP地址,改成你所需要的ip地址 一般都是在自己本机上运行,所以把监听的ip改成 ...

  8. Oracle 修改密码(忘记登录密码,用户System)

    1.修改计算机环境变量,把oracle服务端路径放在最前面 2.输入cmd 3.输入命令:sysplus /nolog SQL>conn sys/syspwd as sysdba SQL> ...

  9. 阻塞 io 非阻塞 io 学习笔记

    阻塞 io 非阻塞 io 学习笔记

  10. LookAround开元之旅(持续更新中...)

    应用介绍随便瞧瞧是一款为android用户量身定做的免费图文资讯软件集美食,文学,语录等频道于一体界面简洁,操作流畅,图文分享,个性收藏是广大卓粉的必备神器APK下载 -->https://ra ...