Typo3流程 - 部分转换为javascript

时间:2016-03-22 09:28:23

标签: javascript typo3 typo3-flow

在typo3流程框架中,我在Index.html中生成了一些javascript变量。

现在我想把一些html从一个部分变成一个变量。这是电话:

channels[{i.index}].card = ' <f:render partial="Channel/Item" arguments="{channel:channel}"/> ';

部分内容没有什么特别之处:

<div class="col-md-1">
  test
</div>

但这会产生javascript错误,因为typo3-flow会在每行后生成Linebreaks。 Chrome会报告&#34;语法错误:意外令牌ILLEGAL&#34;

channels[0].card = '  
<div class="col-md-1">
test
</div>


';

意外的令牌是第一个&#39;之后的第一个换行符。 , 我认为。 如果我在一行中写部分,javascript变量是正确的。但是我不想在局部的一行中写出所有的HTML。

如何判断javascript是否存在换行符?或告诉流程,它应该将部分渲染成一行?

1 个答案:

答案 0 :(得分:0)

这对于JS中的多行值是正常的,只需使用一些验证JS创建test.js文件的IDE,它就会显示错误。

您有两个简单的解决方案:

删除部分中的所有换行符,以便您的代码看起来像(最后没有空行!):

<div class="col-md-1">test</div>

或以反斜杠结束每一行:

<div class="col-md-1"> \
  test \
</div> \
\
\

高级解决方案是编写自定义ViewHelper,它将修剪代码并用反斜杠替换换行符或删除换行符(正确格式化不需要换行符)如果您知道如何创建自定义ViewHelpers和/或你的部分是相当大的,你想/需要保持换行符,以便更容易地使用该文件。