polimer panah - acara pengalih tangkapan - tombol di dalam perancah kertas. kesalahan polimer_20

Saya mendapatkan kesalahan:
Pengendali kejadian inline hanya didukung di dalam deklarasi [elemen polimer]. Lihat http://goo.gl/5HPeuP#polymer_20 untuk detailnya

Kode saya adalah:

<body unresolved>
  <paper-scaffold> <core-header-panel navigation flex mode="seamed" >
    <core-toolbar>Test</core-toolbar> 
       <core-menu> 

       <div id='xtoggle'>Edit
       <paper-toggle-button  label='xlabel' on-change='ontoggle()'> 
       </paper-toggle-button> </div>

yaitu tidak diperbolehkan memiliki on-change untuk tombol. Jadi, bagaimana cara saya menyaksikan acara ini?
Terima kasih
Steve


person Lymp    schedule 13.01.2015    source sumber


Jawaban (1)


Dalam kasus Anda, Anda dapat berlangganan acara core-change sakelar seperti ini -

var toggle = document.querySelector('paper-toggle-button');

toggle.addEventListener('core-change', function() {
  console.log("Toggled!");
});

Silakan lihat jsbin ini untuk contoh yang berfungsi.

person Justin XL    schedule 13.01.2015
comment
Atau ubah saja on-change menjadi core-change dalam HTML. - person Günter Zöchbauer; 14.01.2015
comment
Hai @GünterZöchbauer, terima kasih tetapi saya mencoba core-change dan tidak berhasil? Juga, onchange berfungsi. - person Justin XL; 14.01.2015
comment
Saya tidak melihat paper-toggle-button, saya hanya berpikir ketika toggle.addEventListener('core-change', ...) imperatif berfungsi maka core-change="..." deklartif juga harus berfungsi. Saya ingin tahu apa yang Anda maksud dengan onchange berhasil. Dengan onchange Anda hanya dapat menambahkan event handler JavaScript tetapi tidak dapat menambahkan Dart. Saya baru saja melihat bahwa Anda perlu melakukan core-change="{{ontoggle}}" daripada core-change="ontoggle()" (atau on-change="{{ontoggle}}" (tergantung pada nama acara sebenarnya. - person Günter Zöchbauer; 14.01.2015
comment
Ahh, aku baru ingat itu untuk dart! Kamu benar. Tetapi apakah Anda dapat melakukan penangan inline seperti core-change di luar elemen polimer? - person Justin XL; 14.01.2015
comment
Saya tidak yakin apa yang Anda maksud dengan penangan inline. Dart tidak memiliki dukungan apa pun untuk penangan inline. Entah Anda menggunakan Polimer (atau kerangka kerja lain yang memiliki semacam dukungan pengikatan) atau Anda menambahkan penangan secara penting. - person Günter Zöchbauer; 14.01.2015
comment
Ya benar. Itu sebabnya saya kira dengan mengubah ke core-change masih tidak berfungsi karena sakelarnya tidak berada di dalam elemen polimer? - person Justin XL; 14.01.2015
comment
Terima kasih @GünterZöchbauer - Gunter dan Justin atas bantuan dan percakapannya. Ini berhasil untuk saya:‹br› toggle.addEventListener('core-change', (event)=› myfunc()); ‹br›Selamat, Steve - person Lymp; 15.01.2015