• 【翻译】Ext JS最新技巧——2014-10-30


    原文:Top Support Tips

    Greg Barry:Ext JS 5的ExtraParams

    Ext JS 4允许用户直接将extraParams添加到一个链接,类似如下代码:

    Ext.Ajax.extraParams = { foo: "bar" };

    由于Ext JS5对数据包进行了修改,该方法就不再可行了。现在,需要使用 setExtraParams和getExtraParams方法来为Ext.data.Connection提供参数,例如:

    Ext.Ajax.setExtraParams({
        foo: "bar"             
    });

    有关这些方法的详细信息,请阅读以下资源:Ext.data.Connection

    你可以通过查看 Fiddle的标题中网络标签页中的“列表”来查看该功能的演示。

    Seth Lemmons:Ext JS 4中的动态字段和网格列

    Ext JS 5的数据包变化让灵活的数据更易于工作了。然而,如果你正在使用Ext JS 4,那要实现类似的灵活性,就需要使用几个鲜为人知的框架块来实现。

    开发人员一直以来都无法控制从服务器返回到应用程序的数据字段有哪些。如果你是工作于数据会从多个数据源返回数据的环境,这很可能是一个常见的挑战。数据签名可能频繁发生改变,而且数据拥有者不会去通知数据签名已经改变。用户经常静态的设置模型(model)/存储(store)(或网格中的列)的字段。然而,你可以利用metachage事件以及返回的metaDaata键来让数据变得灵活。

    注意:metachange事件目前只会被JSON读取器(reader)触发。

    如果服务器响应包含了在读取器的metaProperty配置项设置的metaData键,那数据就可从metaData响应中获取。任何传递过来的数据记录的根就可以在这里被定义为存储的字段。如果记录对象是通过metaData对象传递的,那么字段就被读取器自动应用到存储/模型。

    与响应相关的信息也会传递回响应中,例如,一个关联存储的数组列也可以被传递,且可使用存储的metachange事件来动态应用。

    当metaData被传递回响应,就会触发metachange事件,这时,处理程序就可以读取任何传递回来的数据并将其合并。

    var store = Ext.create('Ext.data.Store', {
        // ...
        listeners: {
            'metachange': function(store, meta) {
                myGrid.reconfigure(store, meta.columns);
            }
        }
    });

    理想情况下,每次加载是不需要重新配置网格的,除非是字段/列需要进行重新配置。尽管如此,最好还是在字段或列发生改变的时候才使用传递回来的响应中的metaData。

    有关metachange事件和metaData配置项的详细信息,请参阅以下资源:


  • 相关阅读:
    写代码时减少bug的八种方式
    ObjectiveC中对Url的参数进行编码
    iPhone中预览文档的三种方式
    GUID和INT两种数据类型做主键的比较
    通过FxCop来验证.NET编码规范
    一位程序员的一个LBS应用的想法
    iPhone中XML处理以及网络上的图片显示
    iOS开发之iPhone通过get和post方式请求asp.net webservice
    iOS开发之将XML转换成树
    objectivec内存管理基础
  • 原文地址:https://www.cnblogs.com/muyuge/p/6333652.html
Copyright © 2020-2023  润新知