如何用"dom-if"在polymer1.0中写入条件?

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)


ura*_*dom 9

目前,聚合物仅支持简单的条件构造.这意味着你不能写出类似的东西

[[ item.something == 'CONDITION' ]]
Run Code Online (Sandbox Code Playgroud)

你有两个选择:

  1. 用于条件的项是布尔值,而不是简单的写

    [[ item ]]
    
    Run Code Online (Sandbox Code Playgroud)

    要么

    [[ !item ]]
    
    Run Code Online (Sandbox Code Playgroud)

    将工作.您可以使用的唯一操作符是'!'

  2. 对于更复杂的条件,使用计算绑定:

    [[ _computeResult(item) ]]
    
    Run Code Online (Sandbox Code Playgroud)