निर्यात ऑब्जेक्ट के मूल्यों को उदाहरण के लिए, '': 'द्वारा अलग किए गए नाम और UiComponent उदाहरण की संपत्ति के लिए हल करना होगा checkout.cart.total:title
।
निर्यात लक्ष्य नाम में UI घटक "नाम स्थान" शामिल करना है।
आपके उदाहरण में, आप मान को एक स्ट्रिंग पर सेट करते हैं, जो कि UiComponent की एक संपत्ति को हल करता है जो निर्यात स्रोत है। जब आप इसे वैध निर्यात लक्ष्य नहीं मानते तो निर्यात अपरिभाषित होता है।
यहाँ एक उदाहरण है जो काम करता है:
defaults: {
exportTarget: "foo.bar",
exportTargetProperty: "showMessage",
tracks: {
shouldShowMessage: true
},
exports: {
shouldShowMessage: '${$.exportTarget}:${$.exportTargetProperty}'
}
}
...
हर बार जब मूल्य परिवर्तन होता है, तो पूरे नाम के साथ एक UiComponent की shouldShowMessage
संपत्ति में संपत्ति के मूल्य की प्रतिलिपि होगी ।
ध्यान दें कि यह स्वचालित रूप से लक्ष्य संपत्ति को KO के रूप में देखने योग्य नहीं बना देगा। यह स्पष्ट रूप से घोषित किया जाना चाहिए, अगर मूल्य में बदलाव के लिए केओ को उस संपत्ति तक पहुंचने वाले डीआर नोड्स को ट्रिगर करना चाहिए।showMessage
foo.bar
वैसे, ऑब्जेक्ट में जोड़ने shouldShowMessage
से tracks
यह एक ko-es5 ऑब्जर्वेबल ऑटोमैटिकली हो जाएगा। शाब्दिक ko.observable()
कार्यों का उपयोग करना , भी।
ऊपर के उदाहरण में, exportTarget
और exportTargetProperty
में कॉन्फ़िगर किया गया है defaults
। उन्हें JSON में UiComponent विकल्पों के भाग के रूप में भी निर्दिष्ट किया जा सकता है, जो आमतौर पर अधिक समझ में आता है, क्योंकि यही वह जगह है जहां UComComentent पदानुक्रम UiComponent नामों सहित परिभाषित किए गए हैं।
अंत में, मैं यह नोट करना चाहूंगा कि मैं व्यक्तिगत रूप से आपके समाधान का उपयोग मूल्य वस्तु का उपयोग करके अन्य यूआई घटक के लिए मान पास करने के लिए करता हूं जो निर्यात या आयात का उपयोग करने से बेहतर है। मेरे अनुभव को DOM या UiCompords में साझा स्थिति रखने के लिए सभी सरल लेकिन सरल मामलों में स्पेगेटी OOP के लिए एक नुस्खा है।