【发布时间】:2014-12-27 20:49:24
【问题描述】:
我在存储中有一个数组引用($sections)。我正在尝试取消引用并将其分配给 javascript 数组,但我尝试的任何方法都不起作用。
例如
%= javascript begin
var list = <%== $sections %>;
etc...
% end
导致列表等于 ARRAY0x23456(这是正确的,因为 $sections 是一个参考)
%= javascript begin
var list = <%== @$sections %>;
etc...
% end
将数组长度分配给列表(这是正确的,因为列表被视为标量分配)。
%= javascript begin
var list = <%== $sections %>.slice();
etc...
% end
给出一个错误,因为 $sections 是一个参考
%= javascript begin
var list = <%== @$sections %>.slice();
etc...
% end
可以说是最有可能的候选者,但解析为 [array.length].slice()(例如 3.slice()),但失败了。
我该怎么做?
编辑; 我已经设法做到这一点,方法是在存储中形成一个包含数组值的字符串,然后从中创建我想要的数组。
例如stash 在 $string 中包含字符串 5,6,7,8 然后我可以在javascript中做
array = [ <%= $string %> ];
我仍然很想知道是否有办法使用存储中的 arrayref 来做到这一点。
【问题讨论】:
标签: javascript arrays perl mojolicious