聚合物:dom-repeat项上的单击事件未在index.html中标识

问题描述 投票:0回答:1

我有一个入口点为index.html的聚合物应用程序。由于某种原因,我不得不在index.html本身内部使用dom-repeat而不是聚合物元素。代码是这样的

    <dom-bind id="mainbody">
    <template>
        <app-drawer-layout>
            <app-drawer slot="drawer">
                <template is="dom-repeat" id="mainDemoBody">
                    <paper-item data-value={{item.is}} id="demoItem" on-tap="onElementSelect"> 
                      {{item.is}}         
                    </paper-item>
                </template>
            </app-drawer>
            <div> Main content
                <div>
        </app-drawer-layout>
    </template>
</dom-bind>

而且我在脚本标签中定义了这样的点击功能

    <script>
    function onElementSelect(e) {
        console.log('here');
        this.selectedElement = e.model.item;
        this.elementTags = this.selectedElement.tags;
        this.demoLoaded = false;
    }
</script>

但是我在用户界面上单击任何重复重复项都出现以下错误

侦听器方法onElementSelect未定义

有人可以在这里帮助我,谢谢。

javascript html polymer polymer-2.x dom-repeat
1个回答
0
投票

onElementSelect”似乎没有与dom-bind#mainbody绑定。我的建议是创建一个与主体绑定的函数。这似乎对我有用。

代码:-

var mainbody = document.getElementById('mainbody'); mainbody.onElementSelect = function(e){ console.log('here'); this.selectedElement = e.model.item; this.elementTags = this.selectedElement.tags; this.demoLoaded = false; }

© www.soinside.com 2019 - 2024. All rights reserved.