-1

在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 在每一行之后都会产生换行符。Chrome 报告“SyntaxError: Unexpected Token ILLEGAL”

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


';

我认为,意外的标记是第一个 ' 之后的第一个换行符。如果我在一行中写出部分,则 javascript 变量是正确的。但是我不想将部分中的所有 HTML 写在一行中。

如何告诉 javascript 有换行符?或者告诉流程,它应该在一行中呈现部分?

4

1 回答 1

0

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

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

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

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

或以反斜杠结束每一行:

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

高级解决方案是编写自定义 ViewHelper,它将修剪代码并用反斜杠替换换行符或完全删除它们(正确格式化不需要换行符)如果您知道如何创建自定义 ViewHelper 和/或您的partial 相当大,您希望/需要保留换行符以便更轻松地处理文件。

于 2016-03-22T13:28:41.653 回答