我正在使用jQuery模板(jquery.tmpl.js)在网页上呈现内容并遇到意外结果。
我的JSON对象中的一些属性是
CanMovePrevious false
CanSkipQuestion false
这是我的模板中的一个片段,它会产生意想不到的结果:
{{if CanMovePrevious}}
<a id="previous"><span>${PreviousButtonText}</span></a>
{{/if}}
{{if CanSkipQuestion}}
<a id="next"><span>${NextButtonText}</span></a>
{{else}}
<a id="next" class="hideV"><span>${NextButtonText}</span></a>
{{/if}}
我已经包含了 CanMovePrevious 条件,因为它按预期工作:对于上述JSON数据, CanMovePrevious 元素不呈现。
但是,对于 CanSkipQuestion 条件,并使用上述JSON数据,标记实际上呈现为
<a id="next" class=""><span>Next</span></a>
这是两种选择之间的混合。
如果 CanSkipQuestion 属性为 true ,则呈现的标记符合预期,即
<a id="next"><span>Next</span></a>
如果我更改了该类的名称,则它会按预期显示,即
<a id="next" class="myClass"><span>Next</span></a>
当 CanSkipQuestion 设置为false时,有人可以解释为什么不会呈现类名“hideV”吗?
答案 0 :(得分:1)
在您的代码
{{if CanSkipQuestion}}
中,只确保CanSkipQuestion
存在,如果确实存在,则会进入并创建HTML。
如果您希望条件适用于CanSkipQuestion
的值,则需要更改模板中的条件,例如{{if CanSkipQuestion == true}}
。