我有一个从服务器端渲染器写入/生成javascript的组件。该组件可以在同一页面中多次使用。但是,一旦页面被加载,我必须收集页面中这个多个组件所写的所有变量或JSO。我怎么能这样做,以便我将收集所有变量或JSO? 对于例如如果这个组件(比方说)在页面中使用了两次,那么它会在客户端/浏览器上发出两个javascript块 - var arr1 = new Array ['First','Second']和 var arr2 = new Array ['Third','Fourth']。
为了进行最终渲染,我必须将这两个数组合并。
答案 0 :(得分:1)
您需要更加具体地了解您的问题,也许需要一个示例页面,但这里有一些想法。
如果你有一个服务器端组件在页面生成期间编写JavaScript,我会每次生成一个函数调用,如:
Component_appendArray(['First', 'Second']);
...
Component_appendArray(['Third', 'Fourth']);
然后确保在这些调用之前定义了函数Component_appendArray()
:
var globalArray = [];
function Component_appendArray(array)
{
globalArray = globalArray.concat(array);
}
最后,globalArray
应包含:
['First', 'Second', 'Third', 'Fourth']
希望这有帮助。
答案 1 :(得分:0)
虽然我不了解整个场景,但是我建议如果您要在整个HTML中打印变量以便在页面加载后使用它们,那么您可以使用隐藏的输入字段。我经常看到这一点,其中变量用于将值传递给页面底部的函数或脚本,但使用隐藏输入字段的值允许您从内容区域中获取所有脚本。它提供了一个更清洁的解决方案。