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