2

我正在使用 Tapestry5、jQuery 和 JSON。我想知道您将如何在两个 jQuery 文件之间共享 json 数据。我的 json 数据被我的框架传递到文件 A init 中。我不确定如何让文件 B 与文件 A 一起使用。我需要对文件 A 中的 json 数据进行更改才能在文件 B 中使用,反之亦然。我的目标是拆分所有使用相同 JSON obj 的 javascript 函数。我对此很陌生,所以也许我走错了路。

文件 A

(function ($) {   
    T5.extendInitializers(function(){
        function init(jsonData) {
            //do something with jsonData
        }
    }
}

文件 B

(function ($) {   
    function init(jsonData) {
        //do something with jsonData
    }
}
4

2 回答 2

3

这可能是最简单的方法

<script>window.jsonData = {foo: "bar"};</script>
<script src="a.js"></script>
<script src="b.js"></script>
于 2012-12-21T18:31:42.623 回答
2

共享它们的简单方法是将 jsonData 设为全局。一个稍微好一点的版本是用一个单例包装 jsonData。

另一种方法是将 jsonData 传递给两个 init 函数。Javascript 是通过引用传递的,因此如果在调用两个 init 函数时将 jsonData 传递给两者,则一个函数所做的更改将被另一个函数看到。

需要更多的上下文来推荐实际上是最好的方法。

于 2012-12-21T18:29:17.560 回答