2016-03-22 36 views
-1

在typo3流框架中,我在Index.html中生成了一些javascript变量。Typo3流 - 渲染部分到javascript

现在我想从一个局部变量的一些HTML。这是呼叫:

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

部分的内容是没有什么特别的:

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

但是因为TYPO3流的每一行后产生的换行符这会产生一个JavaScript错误。 Chrome浏览器会报告“语法错误:意外的标记非法”

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


'; 

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

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

回答

0

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

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

删除您的部分所有换行符所以你的代码看起来像(末尾没有空行!):

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

或结束回到各行-slash:

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

先进的解决方案是编写自定义视图助手将修剪的代码,并更换符合反斜杠打破或全部(删除换行符不requi红色为正确的格式)如果您知道如何创建自定义ViewHelpers和/或您的偏好是相当大的,并且您希望/需要保留换行符以便于使用该文件,则此选项是有意义的。