โผโพลีเมอร์ - เหตุการณ์สลับการจับ - ปุ่มภายในโครงกระดาษ ข้อผิดพลาดของโพลีเมอร์_20

ฉันได้รับข้อผิดพลาด:
ตัวจัดการเหตุการณ์แบบอินไลน์ได้รับการสนับสนุนภายในการประกาศของ [polymer-element] เท่านั้น ดูรายละเอียดที่ http://goo.gl/5HPeuP#polymer_20

รหัสของฉันคือ:

<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>

กล่าวคือ ไม่อนุญาตให้มี เมื่อเปลี่ยนแปลง สำหรับ ปุ่ม แล้วฉันจะติดตามกิจกรรมเหล่านี้ได้อย่างไร
ขอบคุณ
สตีฟ


person Lymp    schedule 13.01.2015    source แหล่งที่มา


คำตอบ (1)


ในกรณีของคุณ คุณสามารถสมัครรับกิจกรรม core-change ของตัวสลับได้เช่นนี้ -

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

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

โปรดดู jsbin นี้เพื่อดูตัวอย่างการทำงาน

person Justin XL    schedule 13.01.2015
comment
หรือเพียงแค่เปลี่ยน on-change เป็น core-change ใน HTML - person Günter Zöchbauer; 14.01.2015
comment
สวัสดี @GünterZöchbauer ขอบคุณ แต่ฉันลอง core-change แล้ว แต่มันไม่ทำงานใช่ไหม นอกจากนี้ onchange ยังใช้งานได้ - person Justin XL; 14.01.2015
comment
ฉันไม่ได้ดูที่ paper-toggle-button ฉันแค่คิดว่าเมื่อความจำเป็น toggle.addEventListener('core-change', ...) ทำงาน ดังนั้นการประกาศ core-change="..." ก็ควรจะทำงานเช่นกัน ฉันสงสัยว่าคุณหมายถึงอะไรโดย onchange ทำงาน ด้วย onchange คุณสามารถเพิ่มได้เฉพาะตัวจัดการเหตุการณ์ JavaScript แต่เพิ่ม Dart ไม่ได้ ฉันเพิ่งเห็นว่าคุณต้องทำ core-change="{{ontoggle}}" แทน core-change="ontoggle()" (หรือ on-change="{{ontoggle}}" (ขึ้นอยู่กับชื่อเหตุการณ์จริงคืออะไร) - person Günter Zöchbauer; 14.01.2015
comment
อ่า ฉันเพิ่งจำได้ว่ามันเป็นลูกดอก! คุณพูดถูก แต่คุณจะสามารถทำตัวจัดการแบบอินไลน์เช่น core-change นอกองค์ประกอบโพลีเมอร์ได้หรือไม่ - person Justin XL; 14.01.2015
comment
ฉันไม่แน่ใจว่าคุณหมายถึงอะไรโดยตัวจัดการแบบอินไลน์ Dart ไม่มีการรองรับตัวจัดการแบบอินไลน์ ไม่ว่าคุณจะใช้โพลีเมอร์ (หรือเฟรมเวิร์กอื่นที่มีการรองรับการผูกบางประเภท) หรือคุณเพิ่มตัวจัดการโดยไม่จำเป็น - person Günter Zöchbauer; 14.01.2015
comment
ใช่ถูกต้อง. นั่นเป็นเหตุผลที่ฉันคิดว่าการเปลี่ยนเป็น core-change จะยังคงใช้งานไม่ได้เพราะตัวสลับไม่อยู่ในองค์ประกอบโพลีเมอร์ - person Justin XL; 14.01.2015
comment
ขอบคุณ @GünterZöchbauer - Gunter และ Justin สำหรับความช่วยเหลือและการสนทนา สิ่งนี้ได้ผลสำหรับฉัน:‹br› toggle.addEventListener('core-change', (event)=› myfunc()); ‹br>ไชโย สตีฟ - person Lymp; 15.01.2015