我正在使用Tapestry5,jQuery和JSON。我想知道如何在两个jQuery文件之间共享json数据。我的json数据正被我的框架传递到文件A init中。我不确定如何让文件B与文件A一起使用。我需要更改文件A中的json数据以便在文件B中可用,反之亦然。我的目标是拆分我的javascript函数,它们都使用相同的JSON obj。我对此很陌生,所以也许我会以错误的方式解决这个问题。
档案A
(function ($) {
T5.extendInitializers(function(){
function init(jsonData) {
//do something with jsonData
}
}
}
档案B
(function ($) {
function init(jsonData) {
//do something with jsonData
}
}
答案 0 :(得分:3)
这可能是最简单的方法
<script>window.jsonData = {foo: "bar"};</script>
<script src="a.js"></script>
<script src="b.js"></script>
答案 1 :(得分:2)
分享它们的简单方法是使jsonData全局化。一个稍微好一点的版本就是用单例包装jsonData。
另一种方法是将jsonData传递给两个init函数。 Javascript是通过引用传递的,因此如果在调用两个init函数时将jsonData传递给两者,则另一个函数make的更改将被另一个函数看到。
需要更多背景来推荐实际上最好的方法。