我在sinatra应用程序中使用 slim
进行模板化,并在客户端使用带有句柄的语法 ractive.js
。
我将模板代码保存在 script
标记内,但是很小的尝试像文件的其余部分一样解析它们。我的简化代码如下所示:
section.header-section
 h1项目
 section.main-section
 script#items type =“text / html”
 < ul class =“items”>
 {{#each items}}
 <李> {{TITLE}}< /立GT;
 {{/每}}
 < / ul>



 对于此代码,slim slim解析器返回错误:未知行指示符...第29行,列14 {{#each items}} ^
。
我尝试了建议的解决方法:


 set:slim,{:pretty => true,:attr_list_delims => {'('=>')','['=> ']'},:code_attr_delims => {'('=>')','['=> ']'}}



 它没有帮助。所以我需要 slim
来忽略 script
中的所有内容,保留缩进的可读性。唯一可行的解决方案是创建我自己的嵌入式引擎,并且文明中不做任何事情。有没有其他方法可以解决它?
答案 0 :(得分:2)
您可以使用|
for verbatim text:
script#items type="text/html"
|
<ul class="items">
{{#each items}}
<li>{{title}}</li>
{{/each}}
</ul>
产生:
<script id="items" type="text/html"><ul class="items">
{{#each items}}
<li>{{title}}</li>
{{/each}}
</ul></script>