2015-06-12 5 views
6

प्रश्न:मैं पॉलिमर 1.0 के लिए <paper-dialog> को बंद या बंद करने पर फ़ंक्शन निष्पादित कैसे करूं?

मैं कैसे स्वचालित रूप से एक समारोह जब भी अपने <paper-dialog> तत्व बंद कर दिया है पर अमल करते हैं?

संस्करण: पॉलिमर 1,0

कोड:

<paper-dialog id="paper-id" 
       entry-animation="scale-up-animation" 
       exit-animation="scale-down-animation"> 
    <sample-element></sample-element> 
</paper-dialog> 

उत्तर

10

paper-dialog विरासत Polymer.IronOverlayBehavior, जो iron-overlay-opened और iron-overlay-closed घटनाओं है।

<paper-dialog 
    on-iron-overlay-opened="_myOpenFunction" 
    on-iron-overlay-closed="_myClosedFunction"></paper-dialog> 

https://elements.polymer-project.org/elements/iron-overlay-behavior?active=Polymer.IronOverlayBehavior

+0

वे सुधार करने के लिए काम कर रहे हैं उस। फिलहाल, मैं एक घटक के पृष्ठ के नीचे लिंक किए गए व्यवहारों की खोज करने की अनुशंसा करता हूं, क्योंकि घटक उन व्यवहारों के किसी भी गुण या तरीके का उत्तराधिकारी होगा। जल्द ही वे उन्हें सीधे घटक दस्तावेज में शामिल करने में सक्षम होंगे, जो इन तरह की घटनाओं को ढूंढना आसान बनाता है। – Zikes

+0

हाँ आपसे सहमत हैं, बहुत बहुत धन्यवाद @Zikes –

+5

धन्यवाद, @Zikes। विचित्र रूप से, मैं इसे काम करने के लिए नहीं मिल सका। मैंने एक स्वतंत्र कार्य को परिभाषित किया है जो मैंने आपके जैसा पारित किया है, लेकिन कॉलबैक फायरिंग नहीं कर रहा था। मुझे यह विधि, 'addEventListener (' लोहे-ओवरले-बंद ') के बजाय विधि का उपयोग करने के लिए मिला। –

2

यहां तक ​​कि इस वर्ष का विषय है, वहां अभी भी है 1 बात यह है कि लोगों को पता है और के बारे में पता होना चाहिए:

मैं अत्यधिक की सलाह भी अपने श्रोता समारोह अंदर event.target जाँच करने के लिए। उदाहरण के लिए, यदि आपके पास iron-overlaypaper-dialog के अंदर कोई अन्य तत्व है, तो यह बंद करने से तत्व paper-dialog पर श्रोता को ट्रिगर करेंगे। (आप इसे vaadin-date-picker के साथ आजमा सकते हैं)।

तो:

<paper-dialog on-iron-overlay-closed="_myClosedFunction"></paper-dialog> 

और फिर _myClosedFunction:

_myClosedFunction(e) { 
    if(e.target.nodeName == "PAPER-DIALOG") { 
    //...toDo stuff... 
    } 
} 

अब आप की गारंटी है जब भी केवल कागज संवाद बंद कर दिया है, अपने कोड निष्पादित किया जाएगा कि

संबंधित मुद्दे