gpt4 book ai didi

java - 如何在关闭 soy 文件中正确使用 javascript?

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

我刚刚加入了一个团队,该团队在 java 中使用 google-closure 从 soyfiles 构建网站输出。这适用于 html,但目前它对于 javascript 来说非常难看。当前的方法是将 javascript 包围在 {literal} 中,这意味着我们没有得到任何好处。我们正在做的一个例子如下:

{namespace forms autoescape="contextual"}
{template myForm}
//.... stuff happens

{call js.myFormJs data="$someParam" /}

js:

{namespace forms autoescape="contextual"}
/**
* @param foo
*/
{template myForm}
<script type="text/javascript">
{literal}

//js stuff happens

var myVariable {/literal}{$foo}{literal};

//js stuff happens

{/literal}
</script>
{/template}

我们还在某些地方使用 {if} block 中的 soy 参数来确定是否生成了整个脚本部分。如上所示,这些 js soy 文件几乎总是作为其他 siy 文件的一部分被调用,通常都是 html。

所以我的问题是,我们应该做什么?我查看了 |escapeJs 标志,但找不到应用它的位置。删除 {literal} 会导致所有 javascript 大括号出现渲染错误。有一个更好的方法吗?我是否应该为 js 使用 soy 文件(因为我开始怀疑我们不应该这样做)?

最佳答案

所以这里有一些方法,最好的方法是在模板之外生成你的 javascript。您也可以用 {lb} 和 {rb} 替换花括号,但我敢肯定这会使代码几乎不可读。

关于java - 如何在关闭 soy 文件中正确使用 javascript?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17355230/

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