在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是否存在换行符?或告诉流程,它应该将部分渲染成一行?
答案 0 :(得分:0)
这对于JS中的多行值是正常的,只需使用一些验证JS创建test.js文件的IDE,它就会显示错误。
您有两个简单的解决方案:
删除部分中的所有换行符,以便您的代码看起来像(最后没有空行!):
<div class="col-md-1">test</div>
或以反斜杠结束每一行:
<div class="col-md-1"> \
test \
</div> \
\
\
高级解决方案是编写自定义ViewHelper,它将修剪代码并用反斜杠替换换行符或删除换行符(正确格式化不需要换行符)如果您知道如何创建自定义ViewHelpers和/或你的部分是相当大的,你想/需要保持换行符,以便更容易地使用该文件。