2015-06-17 10 views
5

क्या बाइंडिंग को अनिवार्य रूप से स्थापित करने का कोई तरीका है। एक उदाहरण का उपयोग केस:बाध्यकारी अनिवार्य रूप से

var el2 = new MyElement(); 
el2.myProp = this.$.anotherElement.anotherProp 

यह बाध्यकारी सेट नहीं करेगा, यह केवल मान या वस्तु निर्दिष्ट करता है। मैं कुछ ऐसा करने का तरीका ढूंढना चाहता हूं जैसे:

el2.myProp.bindTo(this.$.anotherElement.anotherProp) 

संभव है?

उत्तर

6

पॉलिमर 1.0 इस समय इसका समर्थन नहीं करता है - जैसा कि गीथब https://github.com/Polymer/polymer/issues/1778 में @ केविनप्सचाफ द्वारा समझाया गया है।

(@kevinpschaaf द्वारा टिप्पणी)

नहीं, हम वर्तमान में इस डोम-बाँध, केवल टेम्पलेट कार्यान्वयन है कि देर-बांधता उदाहरण बच्चों है, जिनमें से बाहर का समर्थन नहीं करते। आप document.createElement ('टेम्पलेट', 'dom-bind') कर सकते हैं, तो आप गतिशील रूप से बच्चों को अपनी सामग्री, पर बाध्यकारी एनोटेशन के साथ जोड़ सकते हैं और बाइंडिंग का मूल्यांकन केवल तभी किया जाएगा जब डोम-बाइंड से जुड़ा हुआ हो दस्तावेज़। https://github.com/Polymer/polymer/blob/master/test/unit/dom-bind.html#L95

ध्यान दें कि डोम-बाँध वर्तमान में बाहरी गुंजाइश के लिए बाध्य की अनुमति नहीं है, कस्टम तत्व टेम्पलेट्स में इतना यह सीमित है उपयोग (यह मुख्य उपयोग के मामले के बीच बंधन के लिए है: परीक्षण यहाँ है कि यह इस का उपयोग दिखाते देखें मुख्य दस्तावेज़ में तत्व), और यह शॉर्ट-टर्म बदलने की संभावना नहीं है।

हम एक तत्व के लिए पंजीकरण की समय प्रोटोटाइप में बाध्यकारी कनेक्शन पाक (बजाय उदाहरण के समय की तुलना में) द्वारा प्रदर्शन के अनुकूलन का एक बहुत कुछ प्राप्त कर रहे हैं, और हम पर्याप्त मशीनरी के को आसानी से नहीं बनाया गया है रनटाइम एडिशन/बाइंडिंग को हटाने की अनुमति दें।

+0

धन्यवाद - यह दुर्भाग्यपूर्ण है। उम्मीद है कि यह बदल जाएगा। – max

+0

@ मैक्स मैं 'प्रदर्शन अनुकूलन' प्राप्त करने के बजाय शौकीन हूं - अन्य पुस्तकालय हैं जो आप चाहते हैं, लेकिन वे प्रदर्शन के मामले में पीड़ित हैं। यह हमेशा एक व्यापार बंद है - सावधान रहें कि आप क्या चाहते हैं। –

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