Полимер: событие нажатия на элемент повторения dom не идентифицируется в индексе. html - PullRequest
0 голосов
/ 20 января 2020

У меня есть приложение на основе полимера с индексом точки входа. html. По какой-то причине мне пришлось использовать dom-repeat внутри индекса. html вместо полимерного элемента. Код выглядит так:

    <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 не определено

Может кто-нибудь помочь мне здесь, спасибо заранее.

1 Ответ

0 голосов
/ 21 января 2020

" 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;
}

Редактировать: Обратите внимание, что предоставленное решение не является правильным или необходимым для полимерного элемента . Это конкретное исправление необходимо в этом сценарии, поскольку полимерные компоненты используются в файле html.

...