방금 soyfiles에서 사이트 출력을 구축하기 위해 java에서 google-closure를 사용하는 팀에 가입했습니다. 이것은 HTML에서는 잘 작동하지만 자바 스크립트에서는 꽤 못 생깁니다. 현재 접근법은 자바 스크립트를 {literal}으로 묶는 것입니다. 즉, 우리는 아무런 이점도 얻지 못합니다. 우리가하고있는 일의 예는 다음과 같습니다closure soy 파일에서 javascript를 올바르게 사용하는 방법은 무엇입니까?
{namespace forms autoescape="contextual"}
{template myForm}
//.... stuff happens
{call js.myFormJs data="$someParam" /}
JS : 우리는 또한 스크립트의 전체 부분이 발생하는 경우 결정하기 위해 {if}
블록 일부 지역 간장 PARAMS에 사용
{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}
. 위에서 볼 수 있듯이, 이러한 js soy 파일은 거의 모든 html 파일과 함께 다른 siy 파일의 일부로 거의 항상 호출됩니다.
제 질문은 무엇을해야합니까? |escapeJs
플래그를 보았지만 적용 할 위치를 찾을 수 없습니다. {literal}
을 없애면 모든 자바 스크립트 중괄호 오류가 렌더링됩니다. 이 작업을 수행하는 더 좋은 방법이 있습니까? js에 대해 soy 파일을 사용해야합니까? (나는 의심해야합니다.)