zoukankan      html  css  js  c++  java
  • Ext.util.MixedCollection 用法

    看extjs源码发现有很多MixedCollection, 它一个Collection类,既包含了数字索引也包含了key,并暴露了相关事件。它相当于java里的map和list,有四个事件:添加元素add、删除元素remove、替换元素replace、清空集合clear

    (一)看看它是怎么用的


    1
    // 一般方法
    2 var mc = new Ext.util.MixedCollection();
    3 mc.add(someEl.dom.id, someEl);
    4 mc.add(otherEl.dom.id, otherEl);
    5 //等等
    6
    7 // 使用getKey
    8 var mc = new Ext.util.MixedCollection();
    9 mc.getKey = function(el){
    10 return el.dom.id;
    11 };
    12 mc.add(someEl);
    13 mc.add(otherEl);
    14
    15 // 或者通过构造器
    16 var mc = new Ext.util.MixedCollection(false, function(el){
    17 return el.dom.id;
    18 });
    19 mc.add(someEl);
    20 mc.add(otherEl);
     
    复制代码
     1 // 一般方法
    2 var mc = new Ext.util.MixedCollection();
    3 mc.add(someEl.dom.id, someEl);
    4 mc.add(otherEl.dom.id, otherEl);
    5 //等等
    6
    7 // 使用getKey
    8 var mc = new Ext.util.MixedCollection();
    9 mc.getKey = function(el){
    10 return el.dom.id;
    11 };
    12 mc.add(someEl);
    13 mc.add(otherEl);
    14
    15 // 或者通过构造器
    16 var mc = new Ext.util.MixedCollection(false, function(el){
    17 return el.dom.id;
    18 });
    19 mc.add(someEl);
    20 mc.add(otherEl);
    复制代码

    (二)添加调用add方法即可,addAll方法用来添加一个个Array或者Object,如果 构造函数的allowFunctions被设置为true,那么函数引用也将被添加到集合中。

    (三)取值会用到四个方法,item方法返回绑定到所传递的key或者index的项目。 key的优先级比index高。这与首先调用key 等价,然后如果没有项目匹配时调用 itemAt。 即它们的优先级是item (String/Number key) 、key(String/Number key) ->get(Number index) ->itemAt(Number index)

    (四)比较常用的方法each、contains、remove等等等

  • 相关阅读:
    Three Algorithms for Fibonacci
    微软面试经历
    [TIP]命令行快速查看图片(Ubuntu)
    emacs as the c++ ide on the Ubuntu
    boost learn notes
    ReadingNotes@02122013
    ignoreunderline.org
    cnblogsminormode.org
    c++ 0x 新特性
    noip模拟赛 思考熊的马拉松
  • 原文地址:https://www.cnblogs.com/bendanchenzhicheng/p/2587677.html
Copyright © 2011-2022 走看看