【问题标题】:Typo3 flow - render partial into javascriptTypo3 流程 - 将部分渲染到 javascript
【发布时间】:2016-03-22 09:28:22
【问题描述】:

在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 存在换行符?或者告诉流程,它应该在一行中呈现部分?

【问题讨论】:

    标签: javascript typo3 typo3-flow


    【解决方案1】:

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

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

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

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

    或以反斜杠结束每一行:

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

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-09-18
      • 1970-01-01
      • 2017-05-01
      • 2011-08-24
      • 1970-01-01
      相关资源
      最近更新 更多