我正在尝试渲染一个数组并在EJS中应用过滤。
我想循环遍历数组并按名称升序排序。
文档没有给予很多关于过滤方法的直接信息
浏览次数:
<select>
<% for( var i=0; i < genres.length; i++){ %>
<option value="<%=: genres[i].name | sort_by:'asc' %>"><%= genres[i].name %></option>
<% }; %>
</select>
售后服务:
var express = require('express'),
ejs = require('ejs');
const genres = [{ name: 'action' }, { name: 'fiction' }, { name: 'thriller' }];
ejs.filters.sort_by = function() {
console.log(genres)
};
错误:
SyntaxError: Unexpected token ':'
2条答案
按热度按时间osh3o9ms1#
从https://www.javascripting.com/view/ejs阅读这篇文章,我想这回答了我的问题。
注意:EJS版本2在这个版本中做了一些突破性的更改(特别是删除了过滤器功能)。V2的工作正在这里进行:https://github.com/mde/ejs
https://github.com/mde/ejs/blob/master/docs/syntax.md
vmjh9lq92#
数组的排序可以在EJS模板中用纯Javascript完成:
关于单行排序的详细解释可以在here中找到。