jQuery模板,{{if}}带有传递的字符串

AnA*_*ice 1 jquery jquery-templates

我正在使用像这样的jQuery模板:

<script type="text/html" id="ListTemplate">
{{if (parseInt($.attachment_count) > 0) }}
    XXXX
{{else}}
    ${attachment_count}
{{/if}}

</script>
Run Code Online (Sandbox Code Playgroud)

但这不起作用?if块永远不会返回true.有什么建议?谢谢

And*_*ker 10

我不认为括号是必要的,但它们不应该引起任何问题.也许你的代码在{{if}}块里面有问题?

应该

{{if (parseInt($.attachment_count) > 0) }}
Run Code Online (Sandbox Code Playgroud)

是:

{{if (parseInt(attachment_count) > 0) }}
Run Code Online (Sandbox Code Playgroud)

attachment_count模板呈现的对象的属性在哪里?

另外,您实际上可以console在jQuery模板中编写语句:

${console.log($item)}
Run Code Online (Sandbox Code Playgroud)

模板引擎将undefined在您的模板上呈现,但您将能够通过控制台检查模板变量.这可能很有用,因为有时这些模板很难调试.

  • 谢谢Andrew.特别是额外的console.log建议非常有用.竖起大拇指. (2认同)