हाइबरनेट की आलसी लोड हो रहा है क्षमताओं मैं केवल जब आवश्यक सर्वर से मेरी फ्लेक्स यूआई अनुरोध डेटा के मॉडल हिस्सा बनाना चाहते थे से प्रेरित होकर। मैंने सोचा कि यह एक सार्वजनिक एक्सेसर जोड़ने जैसा आसान होगा जो परिवर्तनीय पहुंचने पर केवल सर्वर अनुरोध भेजता है।फ्लेक्स लेज़ी बंधन
public function get tab2AC():ArrayCollection
{
if(_tab2AC == null){
//Request data from server
}
return _tab2AC;
}
समस्या है कि फ्लेक्स आवेदन लांच पर सभी बाध्य चर तक पहुँचने के लिए, भले ही संदर्भित घटक अभी बाकी है बनाया जा रहा है है। तो भले ही dataProvider="{tab2AC}"
साथ डेटा ग्रिड अभी तक बनाया जाना है, सर्वर अनुरोध अभी भी बाहर चला जाता है, इस प्रकार "केवल जरूरत पड़ने पर" आलस्य को पराजित किया।
मैं एक creationComplete हैंडलर के अंदर सर्वर अनुरोध जगह के रूप में मैं अपने यूआई मॉडल दृश्य राज्य और मेरे विचार सर्वर अनुरोधों को अज्ञानी से अनभिज्ञ रखना चाहते हैं नहीं करना चाहती।
दिलचस्प बात यह है कि अगर मैं एक्सेसर के अंदर एक Alert.show("anything");
जोड़ने के लिए, यह के रूप में वांछित काम करता है।
अद्यतन: यहाँ एक पूर्ण उदाहरण है। ब्रेकपॉइंट्स सेट करें और आप देखेंगे कि फ्लेक्स दोनों चरों तक पहुंचता है, भले ही शीर्षक किसी भी बनाए गए घटक द्वारा फ़ॉरस्क्रीन 2 का उपयोग नहीं किया जाता है।
<?xml version="1.0" encoding="utf-8"?>
<s:Application xmlns:fx="http://ns.adobe.com/mxml/2009"
xmlns:s="library://ns.adobe.com/flex/spark"
xmlns:mx="library://ns.adobe.com/flex/mx" minWidth="955" minHeight="600">
<fx:Script>
<![CDATA[
private var _titleForScreen1:String;
private var _titleForScreen2:String;
public function get titleForScreen1():String {
if(_titleForScreen1 == null){
//Server Request
}
return _titleForScreen1;
}
public function get titleForScreen2():String {
if(_titleForScreen2 == null){
//Server Request
}
return _titleForScreen2;
}
]]>
</fx:Script>
<mx:ViewStack>
<s:NavigatorContent label="Screen 1">
<s:Label text="{titleForScreen1}"/>
</s:NavigatorContent>
<s:NavigatorContent label="Screen 2">
<s:Label text="{titleForScreen2}"/>
</s:NavigatorContent>
</mx:ViewStack>
</s:Application>
मैं इसके लिए कुछ संदर्भ इस्तेमाल कर सकते हैं "समस्या यह है कि फ्लेक्स आवेदन लांच पर सभी के लिए बाध्य चर तक पहुँचने के लिए, संदर्भित घटक अभी तक निर्मित होता है, भले ही लगता है।"। रेफरेंसिंग घटक क्या है और "बाउंड वेरिएबल" क्या है। उनमें से एक फ्लेक्स के लिए इसे किसी भी तरह से एक्सेस करने के लिए बनाया गया होगा। यदि आपने अपना अधिक आर्किटेक्चर/कोड दिखाया है तो शायद हम उसे समझा सकें। – JeffryHouser
यदि आपके पास अपने डिस्प्ले पेड़ पर डेटाग्रिड है जिसमें डेटाप्रोवाइडर है, तो यह बाध्य चर का उपयोग करने का प्रयास करेगा। आप जो भी पूरा करने की कोशिश कर रहे हैं उसके लिए कृपया अधिक कोड दिखाएं। –
क्या आप कोड पोस्ट कर सकते हैं जहां डेटाग्रिड है? साथ ही, क्या आप डेटा क्लास के अधिक कोड पोस्ट कर सकते हैं जहां उपरोक्त गेटर रहता है? क्या आप एक कस्टम बाध्यकारी घटना का उपयोग कर रहे हैं? आप कहते हैं "यहां एक पूर्ण उदाहरण है," लेकिन मैं उलझन में हूं कि वास्तव में यहां वास्तव में होना चाहिए। –