我已经实现了 Ext.Direct 以将数据返回到商店,但是在 javascript 中不提供 directFn 方法。
api.php 返回
var Ext = Ext || {}; Ext.REMOTING_API = {"url":"php/api/router.php","type":"remoting","actions":{"RaStatuses":[{"name":"get_ra_statuses","len":1}]}};
router.php 返回
{"type":"rpc","tid":1,"action":"RaStatuses","method":"get_ra_statuses","result":[{"ra_no":"2"},{"ra_no":"4"},{"ra_no":"6"},{"ra_no":"8"},{"ra_no":"10"}]}
...并成功填充此商店
Ext.define('CSM.store.ra.Statuses', {
extend: 'Ext.data.Store',
model: 'CSM.model.ra.Status',
proxy: {
type: 'direct',
directFn: "RaStatuses.get_ra_statuses"
},
autoLoad: true
});
但是,当我在 javascript 函数中使用这一行时
a = RaStatuses.get_ra_statuses();
...我明白了
'ReferenceError: RaStatuses is not defined'
我误解了吗?Ext.Direct 应该让这个对象在 js 中可用还是这是一厢情愿?