zoukankan      html  css  js  c++  java
  • ExtJS-学习

    day 16----Ext.的方法

    ExtJS扩展的javascript--路径
    Ext-6.2.0packagescore estspecslang

    ----Ext.Object----chain(把当前传入的对象当成新创建对象的原型)
    //chain
    var obj ={
    name:'bjsxt',
    age:10
    };
    var result=Ext.Object.chain(obj);
    //alert(result.name);
    //alert(result.age);
    //判断是否属于result下的属性
    alert(result.hasOwnProperty('name'));//false,,它属于原生的obj属性

    -----each
    迭代--遍历
    var obj={
    name:'张三',
    age:20,
    sex:'男',
    };
    Ext.Object.each(obj,function(key,value,self){
    alert(key+':'+value);
    if(age==20){
    return false;//停止迭代
    }
    });


    -------fromQueryString
    var str ="name=bjsxt&age=10";
    var obj=Ext.Object.fromQueryString(str);
    alert(Ext.encode(obj));//返回字符串的形式


    -------getKey
    根据指定的值,返回一个匹配的key

    ------toQueryObjects(查询字符串)

    ------toQueryString(把对象查询返回一个字符串)

    -----Ext.Number
    Ext.Number.constrain()
    alert(Ext.Number.constrain(5,1,20));//如果第一个数在1到20之间,返回,如果比20大,返回20,小于1.返回1
    alert(Ext.Number.randomInt(1,100));//随机产生一个数
    alert(Ext.Number.toFixed(3.1415926,3));//保留三位小数

    -----Ext.String


    day17
    1.---Ext.Array数组
    Ext.Array.clean();//把一个数组中的空值或空串去掉

    ---difference(arr1,arr2);//以第一个数组位准,去掉与第二个数组重复的元素,输出

    ----each();//迭代

    ----erase
    var arr=[1,2,3,4,5];
    alert(Ext.Array.erase(arr,2,2));//输出1,2,5,移除了从左边数0开始,第二位是3,移除两位--三和四

    ----filter
    var arr=[1,2,3,4,10,18,23];
    var newarr=Ext.Array.filter(arr,function(item){
    if(item>10){
    return false;
    }else{
    return true;
    }
    });
    alert(newarr);//输出将大于10的数移除掉

    ---include
    var arr=[1,2,3,4];
    Ext.Array.include(arr,20);
    alert(arr);//输出数组中不包含的元素20添加,如果包含不添加

    ---unqiue//去掉重复元素
    var arr=[1,2,2,3,5,6,8,8];
    var obj={};
    for(var i=0,len=arr.length;i<len;i++){
    obj[arr[i]]=true;//去掉重复项

    }
    alert(Ext.encode(obj));
    var uniquearr=[];
    for(var i in obj){
    if(obj.hasOwnProperty(i)){//判断是否属于自己的类型
    uniquearr.push(i);//添加
    }
    }
    alert(uniquearr);

    2.-----Function
    --var objsay=Ext.Function.alias(obj,'say');//起别名,将方法obj里的say方法起别名赋值给objsay

    ----bind 绑定作用域的相当于call.apply
    ----defer(task,3000);三秒后执行task方法

    3.----Date
    alert(Ext.Date.format(new Date(),'Y-m-d H:i:s'));


    day18-----动态加载JS文件--Ext.Loader
    方便把扩展的组件动态加载进来
    ---自己扩展的组件,创建一个ux文件夹---当然extjs自己的ux也封装了一些
    在ux下创建MyWindow.js
    //define的类名,一定要严格按照层次路径去编写
    Ext.define('js.extjs.ux.MyWindow',{
    extend:'Ext.window.Window',
    title:'我是动态加载进来的组件',
    });

    //动态加载一个JS文件
    //第一步,在js/extjs/添加文件夹(ux)
    //在这个ux文件夹下建立自己的组件所对应的js文件
    //第二步,在js/extjs/ux下编写自己的扩展的组件
    //第三步,启用ext 动态加载的机制,并设置要加载的路径
    Ext.Loader.setConfig({
    enabled:true,
    path:{
    myux:'js/extjs/ux'
    }
    });
    //第四步,创建类的实例并使用
    Ext.create('js.extjs.ux.MyWindow').show();

    day19---Ext之DOM
    --Ext.Element(几乎对Dom的一切进行了彻底的封装)核心类
    --Ext.DomHelper(强大的操控UI界面的工具类)
    --Ext.DomQuery(用来进行DOM节点查询)

    //Ext.get 使用了缓存机制来提升获取DOM节点的效率Ext.Element
    //get 方法的描述
    /*
    1.首先去Ext.cache缓存里去查找,如果缓存里有,直接返回即可
    2.如果缓存里没有,那再去页面上查找,如果页面里没有,返回null
    3.如果页面里没有,把当前内容加入到缓存里,
    */
    var d1=Ext.get('d1');//Ext.Element
    alert(d1.dom.innerHTML);

    //Ext.fly
    /*
    fly:使用了javascript经典的'享元模式'来提升效率,从而节约内存,更加低碳化
    返回的对象:fly对象,当然你可以理解成为返回的就是Ext封装好的Ext.Element对象

    */
    var d2=Ext.fly('d2');
    d2.dom.innerHTML='AAA';

    -----总结
    --Ext.get 比较消耗内存,尽量避免使用
    --Ext.fly 虽然比较省内存,但是只能被使用一次
    --Ext.getDom非常适合直接获取页面的元素,并返回的就是DOM元素,如果你想操作DOM元素
    的属性,那这个方法是最好不过的了


    day20

    //查询系方法:
    --contains:判断元素是否包含另一个元素
    --child:从元素的直接子元素中选择与选择符匹配的元素
    --down:选择与选择符匹配的元素的子元素
    --first:选择元素第一个子元素
    --Ext.qurty:根据选择符获取元素
    --Ext.select:根据选择符获取元素的集合

    day21
    //操作dom系的方法
    1.--appendTo:将当前元素追加到指定元素中
    sp.appendTo(Ext.get('d2'));

    2.---为元素添加事件
    //addKepMap:为元素创建一个KepMap 对象
    var inp=Ext.get('inp');
    inp.addKeyMap({
    key:Ext.EventObject.A,
    ctrl:true,
    fn:function(){
    alert('按住ctrl+A,执行');
    }
    scope:this
    });


    3.--- addKeyListener:为KeyMap 绑定事件
    var inp=Ext.get('inp');
    inp.addKeyListener({
    key:Ext.EventObject.X,
    ctrl:false
    },
    function(){
    alert('执行了....');
    }this);

    ---on:绑定事件
    ---un:移除事件
    ---click:单机事件
    ---blur:失去焦点事件
    ---focus:获得焦点事件

    ---其他方法
    center:使元素居中
    clean:清理空白的文本节点
    createShim:为元素创建一个iframe 垫片保证选择或其他对象跨域时可见
    getLoader:返回ElementLoader对象
    highlight:高亮显示特效
    show ,hide 显示隐藏元素
    ghost :元素移动特效
    fadeln,fadeOout:淡入淡出
    slideln,slideOut:向上向下滑动

    ----
    getValue:如果元素有value 属性,返回其值
    mask:遮罩当前元素,屏蔽用户操作
    unselectable:禁用文本选择

    day22---DomHepler辅助工具类操作DOM元素
    //DomHeloer
    //createHtml或markup方法
    配置项说明
    tag 元素的名称
    children/cn表示子元素
    cls表示样式
    html:文本内容
    ----------------
    var html=Ext.DomHepler.createHtml({
    tag:'ol',
    cn:{
    {tag:'li',html:'item1'},
    {tag:'li',html:'item2'}
    }
    });
    console.info(html);//控制台输出

  • 相关阅读:
    JDK API文档下载
    idea技巧:查看一个类的所有子类以及子类的子类并以层级关系显示
    Vue项目优化
    deepin 安装netcore 记录
    UOS 下的VScode 使用经验
    UOS操作系统磁盘空间不够一例
    SRPBatcher优化的原理
    我的UOS生活
    假如美国禁用了Unity3D和Unreal怎么办
    BGFX学习笔记01
  • 原文地址:https://www.cnblogs.com/fdxjava/p/10718366.html
Copyright © 2011-2022 走看看