我的代码如下:
select e.eventid,IFNULL(SUM(c.clicks),0) as TotalClicks
from events e LEFT JOIN
clicks c on e.eventid=c.eventid
group by e.eventid
order by SUM(c.clicks)
item.hasAttach = true / false
但我想检查这个条件,如果: item.content_format_code ==' PDF'
<template is="dom-if" if="{{item.hasAttach}}">
<i class="fa fa-paperclip"></i>
</template>
应该像 {{item.content_format_code ==&#39; PDF&#39;}} = true / false 但它没有测试这个。 我想根据文件类型显示图标。 item.content_format_code ==&#39; PDF&#39; 未选中 true / false 。在聚合物中,它仅将真/假作为条件实际值,但不检查表达式。 请帮助我。
答案 0 :(得分:13)
您可以使用computed bindings。
定义一个计算表达式并将其绑定到dom-if
的函数。
<template is="dom-if" if="[[isFormat(item.content_format_code, 'PDF')]]">
<i class="fa fa-pdf"></i>
</template>
Polymer({
is: "my-element",
isFormat: function(code, format) {
return code === format;
}
});
答案 1 :(得分:9)
目前,聚合物仅支持简单的条件构造。这意味着您无法编写类似
的内容[[ item.something == 'CONDITION' ]]
您有两个选择:
用于条件的项目是布尔值,而不是简单地写
[[ item ]]
或
[[ !item ]]
会奏效。您可以使用的唯一操作员是&#39;!&#39;
条件更复杂,use computed bindings:
[[ _computeResult(item) ]]
答案 2 :(得分:0)
我刚刚做了类似的事情,如果你有权访问你的数据,那么只需要一个像“is-PDF,is-JPG,is-PNG”这样的布尔值列表就容易多了。那你就可以做;
<template is="dom-if" if="[[item.is-PDF]]">
这就是我最终做的事情。