ExtJS中是否有像dojo.load这样的功能?

时间:2010-11-09 17:20:39

标签: extjs dojo

我想知道ExtJS中是否有一个功能,我可以加载我需要的各个组件。例如,dojo使用dojo.load()然后在方法中指定我要加载的组件,无论是fx,数字还是其他很酷的部分。

2 个答案:

答案 0 :(得分:1)

没有内置支持。然而,Doug Hendricks有一个名为$JIT(Just In Time)的用户体验应该添加这样的功能(我自己没试过)。你可以查看它(以及他的其他ext-basex东西)。

答案 1 :(得分:0)

ExtJS以多种方式使用AJAX。有一个名为Ext.data.Store的类,您可以指定一个URL,该URL又引用一个名为Ext.Ajax的静态类。这些数据存储通常用于存储从数据网格到组合框的所有数据。

以下是一些如何加载单个组件数据的示例。

var myStore = new Ext.data.Store({
      reader: new Ext.data.JsonReader({
          root: root,
          fields: [ {name: 'fullname'}
                    ,{name: 'first'}
          ],
      })

      idIndex: 0 // id for each record will be the first element
      autoLoad: true,  
      proxy: new Ext.data.HttpProxy({
          url: getNames.php
      })
}); 
var combo = new Ext.form.ComboBox({
       id: 'myID',
       name: 'names',
       store: myStore,
       displayField: 'first',
       valueField   :'fullname'

});

Ext.Ajax类也可以直接使用。

// Basic request
   Ext.Ajax.request({
      url: 'foo.php',
      success: someFn,
      failure: otherFn,
      headers: {
          'my-header': 'foo'
          },
      params: { foo: 'bar' }
   });

// Simple ajax form submission
Ext.Ajax.request({
    form: 'some-form',
    params: 'foo=bar'
 });