我有以下情况。我有一个与我的服务器同步的 TreeStore。服务器响应返回带有附加属性“additionalTasks”(存储一些服务器生成的新节点信息)的修改节点数据。如果商店的所有侦听器都已经获得了实例化的记录对象而不是原始响应数据,我如何获得此属性的值?我尝试将此附加字段添加到我的模型中,但是当我检查侦听器函数中记录的值时,它们显示为空。
Ext.define('ExtendedTask', {
extend: 'Ext.data.NodeInterface',
fields: [
{ name : 'additionalData', type : 'auto', defaultValue : null, persist : false}
]
});
var store = Ext.create("Ext.data.TreeStore", {
model : 'ExtendedTask',
autoSync: false,
proxy : {
method: 'GET',
type : 'ajax',
api: {
read : 'tasks.js',
update : 'update.php',
create : 'update.php'
},
reader : {
type : 'json'
}
},
listeners: {
update : function(){
console.log('arguments: ', arguments);
}
}
});
这是我的 update.php 响应:
<?php
echo '[ { "Id" : 1,'.
'"Name" : "Planning Updated",'.
'"expanded" : true,'.
'"additionalData": ['.
' {'.
' "Name" : "T100",'.
' "parentId" : null'.
' }'.
']'.
']';
?>