gpt4 book ai didi

javascript - jQuery 模板插件和数据持久性

转载 作者:行者123 更新时间:2023-11-29 20:15:52 26 4
gpt4 key购买 nike

我不太确定发生了什么,但所有迹象都指向我这个方向..我有这段代码(工作):

some_data = {"item":"value"};
$.get("some_template.php", function(template)
{
$.tmpl(template, some_data).appendTo("#some_div");

do_something_else();
});
//evil line

并且 #some_div 被填充...但是,如果在“邪恶线”,我会这样写:

some_data = {};

#some_div 显示为空。模板插件中是否存在某种数据持久性?我不应该在使用后弄乱 some_data 吗?

2011-07-22 重要!据我所知,json 对象和模板是链接在一起的,所以如果我在“邪恶线”这样做:

some_data = {"item":"new value"};

即使在呈现后,模板也会更改其内容。有人知道是否有办法防止这种情况发生吗?

解决方案!:查看我对 Brandon Boone 的回答的评论示例:

some_data = {"item":"value"};
$.get("some_template.php", function(template)
{
$.tmpl(template, some_data).appendTo("#some_div");

some_data = {}; //evil line

do_something_else();
});

最佳答案

看起来 function(template){...} 是一个异步回调函数。这意味着您的“邪恶行”可能会在到达此功能的内部之前执行。所以当你在函数内部使用 some_data 时,它已经是空的了。

重构为:

http://jsfiddle.net/dq9es/

会解决问题

关于javascript - jQuery 模板插件和数据持久性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6784348/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com