एंगुलर यूआई-बूटस्ट्रैप में एक मोडल और "क्लोज" एक मोडल के बीच अंतर क्या है?


83

एक मोडल "बर्खास्त" और एक मोडल "बंद" के बीच अंतर क्या है?

close(result) - a method that can be used to close a modal, passing a result
dismiss(reason) - a method that can be used to dismiss a modal, passing a reason

जवाबों:


91

उत्तर दस्तावेज में है, आपके द्वारा उद्धृत दो पंक्तियों के बाद:

खुली विधि एक मोडल उदाहरण देता है, जो निम्नलिखित गुणों के साथ एक वस्तु है:

  • बंद (परिणाम) - एक विधि जो एक मोडल को बंद करने के लिए इस्तेमाल की जा सकती है, एक परिणाम पारित कर रहा है
  • बर्खास्तगी (कारण) - एक विधि है कि एक मोडल को खारिज करने के लिए इस्तेमाल किया जा सकता है, एक कारण गुजर रहा है
  • परिणाम - एक वादा जो एक मोडल बंद होने और एक मोडल खारिज होने पर खारिज कर दिया जाता है

यहां महत्वपूर्ण बात यह है कि वादे का क्या होता है। पास होने पर, वादा हल हो गया है - अनिवार्य रूप से, "सफलता" कॉलबैक आग। खारिज करने पर, वादा अस्वीकार कर दिया जाता है, इसलिए इसके बजाय "विफलता" कॉलबैक चल रहा है।


33
यहां महत्वपूर्ण बात यह है कि वादे का क्या होता है। पास होने पर, वादा हल हो गया है - अनिवार्य रूप से, "सफलता" कॉलबैक आग। खारिज करने पर, वादा अस्वीकार कर दिया जाता है, इसलिए इसके बजाय "विफलता" कॉलबैक चल रहा है।
ब्रायन

मेरे पास यहां अतिरिक्त प्रश्न हैं: UI के परिप्रेक्ष्य से संवाद को खारिज करने का क्या मतलब है? जैसा कि मैं समझता हूं कि संवाद "ओके" के साथ या "रद्द" (खिड़की पर "एक्स" के साथ भी) उपयोगकर्ता द्वारा बंद किया जा सकता है। यूआई से इसे कैसे खारिज किया जा सकता है? अग्रिम धन्यवाद
एल.एम.

1
इसका मतलब है कि आप इसका मतलब चाहते हैं। संवाद का खाका आपके ऊपर है। आप टेम्पलेट में 4 बटन रख सकते हैं, दो इसे प्रत्येक अपने स्वयं के कारण से खारिज कर सकते हैं, और दो इसे प्रत्येक अपने स्वयं के परिणाम के साथ बंद कर सकते हैं। डेमो को angular-ui.github.io/bootstrap पर देखें : ओके बटन कॉल ओके () करता है, जो स्वयं चयनित आइटम के साथ संवाद को बंद कर देता है, और रद्द बटन कॉल रद्द () करता है, जो डायलॉग को खारिज कर देता है एक कारण के रूप में 'रद्द'।
जेबी निज़ेट

1
Thx, लेकिन मेरे पास इसके बारे में एक और सवाल है: खारिज करने का वास्तविक अर्थ क्या है? क्या यह बिना वादे के करीब होने जैसा है? और कारण, इसका मुख्य उद्देश्य क्या है? 'फू' या 'बार' के साथ खारिज करने में क्या अंतर है? मुझे इस पैरामीटर का उपयोग करने का तरीका नहीं मिला ... अगर कोई समझा सकता है ...
M'ieur Toph '

1
@ जेबीएनज़ेट: आप सही कह रहे हैं, लेकिन मुझे यह समझ में आया। एक बेवकूफ गलती जो मुझे हर बार गांड में काटती है और वह एक बटन का प्रकार सेट करना भूल जाता है button। : P
im1dermike

2

मैंने पाया कि मोडल को खारिज करना सबसे अच्छा है अगर यह उपयोगकर्ता को मोडल बंद करने से होता है (जैसे कि मोडल और इनवॉइस स्थिति के पीछे की स्थिति में लौटना। अहंकार ('^')), और मोडल का उपयोग किया जाता है। जब $ state.go या ui-sref के माध्यम से स्थिति बदल रहा हो।

इस तरह से आप resultविभिन्न चीजों को करने के वादे का उपयोग कर सकते हैं, जो कि होता है पर निर्भर करता है।

result.then(function() { /* state change via ui-sref */ })

result.catch(function() { /* user closed modal */ })


1
यह महत्वपूर्ण है क्योंकि जब एक मोडल खारिज कर दिया जाता है तो वादा हल नहीं किया जाता है, जिसका अर्थ है कि जब तक आप त्रुटि को पकड़ नहीं लेते, आपको एक कंसोल त्रुटि मिलेगी। मैं एक बड़ा प्रशंसक नहीं हूं क्योंकि बर्खास्तगी का इस्तेमाल अक्सर रद्द करने के लिए किया जाता है जो कि वास्तविक समस्या नहीं है। कैच को लागू करने से त्रुटि को फेंकने से रोकता है।
जारेड सोल

यह उत्तर मानता है कि उपयोगकर्ता तृतीय-पक्ष के उपयोग कर रहा है ui-router, जो हमेशा ऐसा नहीं होता है (और न ही प्रश्न इसमें शामिल नहीं है)।
रनरवर्ल्ड
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.