2015-04-07 15 views
5

मेरे पास टैब वाले पेज हैं (जो वास्तव में मूल पीजेएक्स द्वारा प्रबंधित लिंक हैं)। जो pjax कॉल के माध्यम से टैब सामग्री लोड करता है।वाईआई 2 नेस्टेड पीजेएक्स

टैब में से एक में, मेरे पास एक ग्रिडव्यू है जो एक पीजेक्स कंटेनर के अंदर है। तो यह इसे एक घोंसला बना देता है।

jQuery(document).pjax("#history-gridview a", "#history-pjax", {"push":true,"replace":false,"timeout":5000,"scrollTo":false}); 

उत्तर

0

आप जब टैब पृष्ठ (या सामग्री) का अनुरोध renderAjax() कॉल करने की आवश्यकता: समस्या यह है कि एक नेस्ट जब लोड और पृष्ठ में डाल दी है, यह खुद जावास्क्रिप्ट यानी है शामिल नहीं है। मैं ऐसा कुछ करता हूं:

if (Yii::$app->request->isAjax) return $this->renderAjax('myview'); 
else return $this->render('myview'); 

हालांकि, यह आपकी समस्या को ठीक नहीं कर सकता है। मुझे पता चला है कि क्या मैं टैब पर टैब करता हूं और टैब में अपने ग्रिड को गतिशील रूप से लोड किया जाता है (अपने स्वयं के पीजेएक्स कंटेनर के साथ), तो ग्रिड सॉर्ट और फ़िल्टर के साथ किसी भी इंटरैक्शन को बाहरी (पीजेक्स टैब) कंटेनर से फिर से लोड करने का प्रयास करता है skipOuterContainersपर सेट

एक तरफ ध्यान दें, डेवलपर्स पूरी तरह से as per here के साथ-साथ संपत्ति बंडल कैसे काम करते हैं, pjax समर्थन छोड़ने की सोच रहे हैं।


प्रश्न बना रहता है:

कैसे Angular2 या इसी तरह के बिना एक स्पा (एकल पृष्ठ एप्लिकेशन) की तरह सुपर तेजी से प्रदर्शन बनाने के लिए? एक टैब कंटेनर के भीतर ग्रिड कंटेनर एक आदर्श उदाहरण है, जिसे हासिल किया जा सकता है ( बैक/फॉरवर्ड बटन, प्रारंभिक स्क्रिप्ट्स) के लिए खानपान शानदार होगा।