ext6.0+cordova+android开发 第二章 Ext6.0 入门(2)

来源:互联网 发布:cf你的网络存在异常 编辑:程序博客网 时间:2024/06/06 08:46

接上篇。

面向对象的思想,面向对象的思想,面向对象的思想,重要的事说3遍,

json其实就是对象,Ext还有其他所有js框架都是以这种方式实现的。

modle 没多大卵用的东西可以忽略

store:只说重点,其他东西ext在线文档自行解决

      storeId 关系到是否可以用Ext.getStore(storeId)查询,

      pageSize:为0  拼接URL时不加入page等分页参数,不为0则在url中加入int page(页), int start(开始序号), int limit(每页几行) 3参数

      autoLoad:是否在初始化时自动加载数据。

      注意Ext.getStore(storeId)之前store必须已近初始化过,初始化方式一种是在application.js stores 属性中添加store类名全称,这种是全局store,一种是在gird等需要store的地方指定store,并且grid等视图控件正在被显示,这种store在视图被销毁后也就没了 。

Controller:视图和控制器关联只需要在视同中指定controller: '控制器简称',控制器中放入了该视图中所有Ext标准事件触发执行方法,比如button的hander,也就意味着写在控制器里的方法必须是ext控件触发事件用的,如果我们给控件加入自定义方法并赋值控制器方法名称是不会得到支持的。

如何在类中自定义属性?

      config中加入属性即可,例如 config:{p:1,} 取值  this.getP()   赋值  this.setP(2);  

      为什么要写在config中 而不是直接按照json对象模型直接写在extend同级?如果你想通过{xtype:'myclass',p:2}结构去初始化ext对象 就只能这么写 

      而且  var a={xtype:'myclass',p:2}   和  var b=Ext.Viewport.add(a);   a和b不是一个东西,a是json对象,b是ext控件

如何定义静态类

Ext.define('YDZF.lib.Config', {
    alternateClassName: 'config', //设置别名是为了方便调用,这样直接config.appid就能获取到变量。
    statics: {
        appid: 'd08d38632c054b1dbbe801bd39ffb1df',

}});

最后重点

requires: ['Ext.plugin.ListPaging'],

requires 如果你要引用其他js文件 必须要加入到requires中,开着cmd会让人产生错觉,不使用requires也可以调用其他类,但是在build之后你就会发现程序会报错。

至于ext选择器  ext控件说明什么大家自己查在线文档 

Ext在往深讲只能说 就剩控件override了 ,因为你看ext源码就明白 html封装过程 被隐藏了 如果你想开发一个非继承控件,然后在Ext环境下被引用,基本不可能。

对于我们ext 只能说 自由度不如ionic,但是在没有美工的前题下ext还是凑活的够用了,如果你想深入,做个ext大牛,就去研究override,后续我会放出一些override源码。





0 0
原创粉丝点击