我正在尝试使用{{if}}
块内的JQuery.tmpl()来查询字符串值,但由于某种原因它无法正常工作。
我正在使用KnockoutJS渲染具有许多不同类型面板的仪表板。每个面板都有一个Type
属性,告诉我它是哪种类型的面板。所以,这是一个(非常简单的)我的数据可能的概念:
var data = {"Panels": [
{"Type": "A", ... },
{"Type": "B", ... },
{"Type": "C", ... },
]};
这是一个模板,它会根据Type
:
<script id="template" type="text/x-jquery-tmpl">
{{if Type == "A"}}
<div>A</div>
{{else Type == "B"}}
<div>B</div>
{{else Type == "C"}}
<div>C</div>
{{else}}
<div>'${Type}' is invalid!</div>
{{/if}}
</script>
但是,我始终得到如下输出:
<div>'A' is invalid!</div>
<div>'B' is invalid!</div>
<div>'C' is invalid!</div>
如何使用Type
块检查字符串属性(即{{if ..}}
)?
提前致谢!
答案 0 :(得分:0)
以下是JSFiddle中示例的工作副本:
http://jsfiddle.net/rniemeyer/cnzeg/
我的样本与您的尝试有什么不同吗?
只有在IE中可能导致问题的其他因素是Panels数组上的尾随逗号:
var data = {"Panels": [
{"Type": "A", ... },
{"Type": "B", ... },
{"Type": "C", ... }*,*
]};
不会导致您看到的问题,并且可能不在您的实际代码中。