dom-if模板不起作用

时间:2017-05-27 08:06:26

标签: templates polymer conditional web-component polymer-2.x

dom-if模板不起作用。我有以下聚合物2 组件:

<link rel="import" href="../bower_components/polymer/polymer-element.html">

<dom-module id="ohr-block">
    <template>
        <style>
            :host {
                display: block;
            }
        </style>
        <h3>[[mydata.title]] [[_isType('one')]]</h3>
        <template is="dom-if" if="[[_isType('one')]]"> <!-- problem is here -->
            <div>Should be displayed</div>
        </template>
    </template>

    <script>
        /**
        * @customElement
        * @polymer
        */
        class OhrBlock extends Polymer.Element {
            static get is() { return 'ohr-block'; }

            static get properties() {
                return {
                    mydata: {
                        type: Object,
                        value: {"title": "my title", "type" : "one"}
                    }
                };
            }

            _isType(type) {
                return this.mydata.type === type;
            }
        }

        window.customElements.define(OhrBlock.is, OhrBlock);
    </script>
</dom-module>

如您所见,我在[[_isType('one')]] html标记内使用h3。在这个位置,它正常工作,我可以看到true,但当我在[[_isType('one')]]属性中使用if条件时,它不起作用,并且不会显示模板内容。

1 个答案:

答案 0 :(得分:3)

问题是我没有导入dom-if

<link rel="import" href="../bower_components/polymer/lib/elements/dom-if.html">