كيفية إنشاء نموذج مثيل يمكن مشاركته عبر مكون (يمكن إنشاؤه أكثر من مرة)

StackOverflow https://stackoverflow.com/questions/2874429

سؤال

أحاول إنشاء بنية معيارية ستعيش في النهاية داخل تطبيق ActionScript/Flex آخر. أنا أستخدم Cairngorm في التطبيق الخارجي وأرغب في إنشاء أكثر من مثيل واحد من هذا المكون الجديد في التطبيق الداخلي. لا يعمل Cairngorm لإنشاء مكونات مكررة متعددة بسبب طبيعة Singleton للنموذج.

المكون الذي أقوم بإنشائه هو عارض فيديو زائف. أرغب في الحصول على نموذج مشترك داخل مثيل المكون هذا. أنا أعاني من طريقة لمشاركة نموذج واحد داخل المكون. إذا استخدمت نمط Singleton ، فلا يمكنني إنشاء أكثر من مثيل واحد من هذا المكون. إذا قمت بإنشاء مثيل ودع المكون يتأكد من وجود واحد فقط ، فأنا أواجه مشكلة في نقل النموذج بسهولة إلى جميع المكونات التي تريده. هذا أمر صعب بشكل خاص لأن مكونات .mxml لا يمكن أن يكون لها مُنشئ حيث كنت سأمر في النموذج.

كنت أفكر في جعل كل مكون يطلب من والديه عن الوحدة النمطية حتى يتناول أحد المكون. سيتطلب ذلك أن يكون لكل مكون تلك الواجهة ويشعر ببعض الوقت بالنسبة لي.

هل يعرف أي شخص طريقة لإنشاء متغير مثيل داخل مكون بحيث يمكن إنشاء مكونات متعددة ، ولكن أيضًا مشاركة هذا النموذج بسهولة خلال هذا المكون؟

هل كانت مفيدة؟

المحلول

أحدث إصدار سويز (1.0.0) لديه إجابة على هذا السؤال. يمكنك الآن إنشاء أكثر من مثيل واحد من SWIZ في مشروع وإعداد علاقة الطفل الوالدين. صفحة دعم الوحدة النمطية هي المكان الذي يشرحون فيه بشكل أفضل (http://swizframework.jira.com/wiki/display/swiz/module+support) لكن ليس عليك في الواقع استخدام الوحدات النمطية ، ستعمل أي علاقة طفل من الوالدين.

فقط تذكر أنه من أجل منع كل معالج الأحداث من الاستجابة لحدث من عرض الطفل ، تحتاج إلى ضبط نطاق EventHandler على محلي ، على سبيل المثال:

[EventHandler( event="TestEvent.SAVE_USER_REQUESTED", scope="local")]
public function handleEvent(event:Event):void {
    //do stuff
}
مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top