Rav*_*avi 7 if-statement polymer
我有下面的代码:
<template is="dom-if" if="{{item.hasAttach}}">
<i class="fa fa-paperclip"></i>
</template>
Run Code Online (Sandbox Code Playgroud)
item.hasAttach = true/false
但我想检查条件,如果: item.content_format_code =='PDF'
<template is="dom-if" if="{{item.content_format_code == 'PDF'}}">
<i class="fa fa-pdf"></i>
</template>
<template is="dom-if" if="{{item.content_format_code == 'JPEG'}}">
<i class="fa fa-jpg"></i>
</template>
<template is="dom-if" if="{{item.content_format_code == 'xls'}}">
<i class="fa fa-xls"></i>
</template>
Run Code Online (Sandbox Code Playgroud)
它应该像{{item.content_format_code =='PDF'}} = true/false 但它不是测试它.我想根据文件类型显示图标.item.content_format_code =='PDF'未选中true/false.在聚合物中,它仅将真/假作为条件实际值,但不检查表达式.请帮我.
Mar*_*ria 13
您可以使用计算绑定.
定义一个计算表达式并将其绑定到的函数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;
}
});
Run Code Online (Sandbox Code Playgroud)
目前,聚合物仅支持简单的条件构造.这意味着你不能写出类似的东西
[[ item.something == 'CONDITION' ]]
Run Code Online (Sandbox Code Playgroud)
你有两个选择:
用于条件的项是布尔值,而不是简单的写
[[ item ]]
Run Code Online (Sandbox Code Playgroud)
要么
[[ !item ]]
Run Code Online (Sandbox Code Playgroud)
将工作.您可以使用的唯一操作符是'!'
对于更复杂的条件,使用计算绑定:
[[ _computeResult(item) ]]
Run Code Online (Sandbox Code Playgroud)