我正在使用express / sequelize和ejs文件创建一个应用程序。
现在,我想使用Jiren提供的出色的过滤器解决方案,但是该解决方案使用的语法与ejs变量相同。
当我在脚本标签type="text/html"
中将带有这些变量的模板包含在模板中时,它会触发一个错误(未定义,但出现在我的包含行中)。当我将模板更改为“ john do”时,页面正在显示,但是我的控制台为我带来了“未定义错误JSONquery”(我不确定这是两个不同的错误,但JSONquery是filter.js插件的一部分) 。我可以在这里向您展示我的模板
<script id="artists-template" type="text/html">
<li
class="main__product-list-item"
data-height="<%= height %>"
data-width="<%= width %>"
data-low="<%= yearBegin %>"
data-high="<%= yearEnd %>"
data-name='<%= artist %>'
data-longueur='<%= height %>'
data-largeur='<%= width%>'
>
<figure class="main__product">
<a class="main__product-image-link" href="/name/<%= id %>">
<% if(Images.length !== 0) { %>
<img alt="illustration" src="./img/_thumb<%= Images[0]['adress'] %>.jpg"/>
<% } else { %>
<img alt="illustration" src="./img/icon-no-image.svg"/>
<% } %>
</a>
<figcaption class="main__product-description">
<h3>
<a href="/name/<%= id %>">
<span class="product__title">"<%= title %>" - <%= artist %></span>
<span class="product__date">, <span class="product__period"><%= period %></span></span>
</a>
</h3>
<p>
Créé probablement entre <span class="product__low-date"><%= yearBegin %></span> et <span class="product__high-date"><%= yearEnd %></span>
<br/>Hauteur : <span class="product__height"><%= height %></span> cm / Largeur : <span class="product__width"><%= width %></span> cm
<span class="main__product-description-story"><%= description %></span></p>
</figcaption>
</figure>
</li>
</script>
当我只注入一个像<%= artist %>
这样的变量时,这是同样的问题。这是我绑定数据的方式:
<% var datas = JSON.stringify(creations) %>
<script>
var data = <%- datas %>;
console.log(data);
</script>
我希望这只是一个简单的问题,我只需要更改一个简单的字符即可使其起作用。目前,我认为最大的问题是有关“未定义JsonQUERY”的问题,因为即使我没有将模板与数据绑定,实际上必须绑定模板的区域也没有绑定。 我试图用谷歌搜索错误,但没有发现任何问题。如果有人有任何想法...谢谢。
这是过滤器解决方案的网站:https://github.com/jiren/filter.js
答案 0 :(得分:0)
万岁!我找到了解决方案,我用egoogle冲突了,发现重点是更改插件语法:如果遇到相同的问题,请尝试更改这些行:
var templateSettings = {
evaluate : /<%([\s\S]+?)%>/g,
interpolate : /<%=([\s\S]+?)%>/g,
escape : /<%-([\s\S]+?)%>/g
};
这些
var templateSettings = {
interpolate: /\{\{(.+?)\}\}/g,
escape: /\{\{\-(.+?)\}\}/g,
evaluate: /\{\%(.+?)\%\}/g
};
现在我只需要使用以下语法:{{variable}}并且它可以正常工作!