2017-02-04 11 views
0

В моей-app.htmlPolymer стартер-комплект 2 Сфера Javascript

... 

<paper-icon-button icon="my-icons:menu" onclick="this.$._joesDrawerToggle()"></paper-icon-button> 

... 

<script> 
    Polymer({ 
    is: 'my-app', 

    ... 

    _showPage404: function() { 
     this.page = 'view404'; 
    }, 


    _joesDrawerToggle: function() { 

     if (this.$.drawer.opened) { 
     this.$.drawer.close(); 
     }else{ 
     this.$.drawer.open(); 
     } 

    } 
    }); 
</script> 

При редактировании моего-app.html, WebStorm автозаполнение находит это. $ ._ J в это. $. _joesDrawerToggle()

Однако, когда я нажимаю кнопку, Chrome Dev Tools говорит:

Uncaught TypeError: this.$._joesDrawerToggle is not a function 
    at HTMLElement.onclick ((index):1) 
onclick @ (index):1 

кажется index.html нужно знать о _joesDrawerToggle(). Я не знаю, почему.

Как я могу сделать эту работу?

ответ

0

изменение

<paper-icon-button icon="my-icons:menu" onclick="this.$._joesDrawerToggle()"></paper-icon-button> 

в

<paper-icon-button icon="my-icons:menu" on-tap="_joesDrawerToggle"></paper-icon-button>` 
+0

Hi ddp. Это не сработало для меня. –

+0

Я изменил 'on-click' на' on-tap' теперь он должен работать – ddp

+0

Хорошее продолжение. –

0

Следующие работал для меня.

<paper-icon-button icon="my-icons:menu" on-tap="_joesDrawerToggle"></paper-icon-button> 

Я нашел ссылку "Annotated event listener setup". У этого есть «Совет», который гласит:

Совет: используйте прикосновение, а не нажимайте кнопку для события, которое постоянно срабатывает как на сенсорном (мобильном), так и на рабочем месте (на рабочем столе) устройствах. Смотрите события жестов для получения полного списка надежных межплатформенных событий.

 Смежные вопросы

  • Нет связанных вопросов^_^