我正在使用Fancytree,我正在使用ExtEdit extension创建一个新节点。节点的标题(主要文本)似乎设置正确,但值在两个try_pop
语句之间一致地更改,并且错误的值将发送到服务器。
这里发生了什么?这令人难以置信。
Here's console.log()
API。
这是我正在使用的全部功能:
FancytreeNode
这是输出。请注意function createNode(data) {
console.log('this is the data object');
console.log(data);
console.log('this is data.node.title');
console.log(data.node.title);
$.ajax({
method: 'post',
data: {
name: data.node.title,
parentId: data.node.parent !== undefined ? data.node.parent.key : null
},
url: '/my/url'
}).success(function (thisData, status, jqXHR) {
data.node.key = thisData.id;
});
}
的不同之处。
答案 0 :(得分:0)
我能够从Nevosis的评论中找到答案。使用console.log()
记录对象时,实际上并未对其进行评估 - 它只是引用。导致功能发射的Fancytree事件有点奇怪;在事件结束之前,data.node.title
未设置为新值,但我不会在控制台中扩展对象,直到该点之后。直接记录时data.node.title
被评估(因为它必须是),这就是值不同的原因。通过在data
之后立即设置断点,我能够看到正确的console.log()
对象。