使用jsRender过滤项目?

问题描述 投票:0回答:1

我似乎无法使用jsRender(https://www.jsviews.com/#fortag@filter)进行过滤

文档指出在渲染时仅通过过滤器函数,然后对其进行定义。返回true以显示记录,返回false以隐藏记录。

我似乎无法启动过滤器,它只是做自己的事。

var htmlOutput = template.render(data, {
              myFilter: myFilterFunction
});
var htmlOutput = template.render(data);
$("#placeholder").html(htmlOutput);

function myFilterFunction(item, index, items) {
   return false;
}

我的模板:

<script id="personTemplate" type="text/x-jsrender">
<div class="row">
        <div class="" style="height:250px; overflow-y:auto;width:100%;">
            <ul class="list-group mb-3 list-fix">
                {{for tasks filter=~myFilter reverse=true tmpl="#tasksTemplate"/}}
            </ul>
        </div>
 </div>
</script>
<script id="tasksTemplate" type="text/x-jsrender">
    <li class="list-group-item list-group-item-action flex-column align-items-start">
        <div class="d-flex w-100 justify-content-between">
            <h6 class="mb-1">{{:title}}</h6>
            <small class="task">{{formatstatus:status}}</small>
        </div>
        <p class="mb-0 apt-event"><span class="badge badge-secondary">Due</span> {{formatdate:due_date}}</p>
        <small style="display:none;">{{>description}}</small>
    </li>
</script>
jquery jsrender
1个回答
0
投票
您有一个没有过滤器的重复变量分配。
var htmlOutput = template.render(data);

这里有一个演示小提琴。 https://jsfiddle.net/7u2j84ox/1/

© www.soinside.com 2019 - 2024. All rights reserved.