JSRender:你如何比较if语句中的变量?

时间:2013-03-24 21:26:25

标签: jquery jsrender

我的问题可能非常基本,但你如何比较你设置的变量?

{{setvar "currentDate" 0 /}}

{{for Data}}
    {{if :~getvar("currentDate") > 5}}
        <div style="background-color: #000; color: #FFF;">currentDate:{{:~getvar("currentDate")}}</div>
    {{/if}}

    <div>
        <h1>{{>Name}}</h1>
        <h2>{{>~date(StartTime, "")}} - {{>~date(EndTime, "")}}</h2>
        <p>{{>Location}}: {{>Link}}</p>
    </div>

    {{:~increment("currentDate")}}
{{/for}}

如果有人可以帮助我,我会非常感激。

谢谢!

-Eric

2 个答案:

答案 0 :(得分:0)

我可能会通过助手处理这个问题;

在渲染模板之前在JS中:

views.helpers({
        curDate: function(increment) {
                  var ret = 0;
                  return inc ? ++ret : ret;
                }
    });

并像这样更改模板;

{{if ~curDate() > 5}}

{{:~curDate(true)}} 

答案 1 :(得分:0)

这是对前一个答案的编辑,你应该在你的函数之前写下ret变量,如下所示。否则ret将返回0或1表示返回值:

var ret = 0;
views.helpers({
        curDate: function(increment) {
                  return inc ? ++ret : ret;
                }
    });