簡體   English   中英

Typo3 flow - 將部分渲染到 javascript 中

[英]Typo3 flow - render partial into javascript

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

現在我想將部分 html 中的一些 html 放入一個變量中。 這是電話:

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

部分的內容沒什么特別的:

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

但這會產生一個 javascript 錯誤,因為 Typ3-flow 在每一行之后都會產生換行符。 Chrome 報告“語法錯誤:意外令牌非法”

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


';

我想,意外的標記是第一個 ' 之后的第一個換行符。 如果我將部分寫在一行中,則 javascript 變量是正確的。 但我不想在一行中編寫部分中的所有 HTML。

我如何告訴 javascript 有換行符? 或者告訴 flow,它應該在一行中渲染部分?

這對於 JS 中的多行值來說是正常的,只需使用一些驗證 JS 的 IDE 創建 test.js 文件,它就會顯示一個錯誤。

您有兩個簡單的解決方案:

刪除部分中的所有換行符,使您的代碼看起來像(最后沒有空行!):

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

或用反斜杠結束每一行:

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

高級解決方案是編寫自定義 ViewHelper,它將修剪代碼並用反斜杠替換換行符或完全刪除它們(正確格式化不需要換行符)如果您知道如何創建自定義 ViewHelper 和/或您的partial 是相當大的,您希望/需要保留換行符以便更輕松地處理文件。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM