عند استخدام وضع الطرق/المشاهدات في AngularJS لإنشاء موقع ويب أو تطبيق كبير ، فإن تحميل جميع الملفات المخصصة مثل وحدات التحكم والقوالب أثناء التهيئة ليس فكرة جيدة. أفضل طريقة هي تحميل الملفات المطلوبة فقط عند التهيئة. قد تعتمد هذه الملفات على اتصال واحد أو ملفات متعددة ، ولكن يتم استخدامها فقط بواسطة مسار معين. عندما نقوم بتبديل الطرق ، سيتم تحميل الملفات التي تم تفريغها حسب الحاجة. هذا لا يحسن سرعة تهيئة الصفحة فحسب ، بل يمنع أيضًا نفايات النطاق الترددي.
تتحدث معظم المقالات الموجودة على الإنترنت عن التحميل البطيء من وحدات التحكم من خلال $ Routeprovider وخدمات الطرف الثالث. على سبيل المثال ، يشرح تحميل وحدات تحكم AngularJS عند الطلب بالتفصيل. ومع ذلك ، هناك عدد قليل من المقالات حول التحميل البطيء من وحدات التحكم ، HTML/القوالب مع $ StateProvider. على الرغم من أنني شاهدت الكثير من التعليمات البرمجية المصدر المتعلقة بـ $ stateprovider وحل مشكلة التحميل البطيئة في HTML/قالب ، إلا أنها لا تزال لم تحل مشكلة التحميل كسول في وحدة التحكم ، والتي هي مؤسف. نظرًا لقضايا الوقت ، سيتم حل نتائج التحقيق أولاً وسيستمر التحقيق في المستقبل.
فيما يتعلق بالتحميل البطيء لـ HTML/Template ، تحتاج إلى وضع ملف HTML وملف الصفحة الرئيسية في أدلة مختلفة ، وإلا سيتم تحميله تلقائيًا. وبالمثل ، لا يمكنك استخدام templateurl لتحديد الملف ، وإلا سيتم تحميله تلقائيًا. خاصية القالب الخاصة بـ $ stateProvider.state تدعم قيم ووظائف السلسلة ، بحيث يمكن تعريف وظيفة لتحميل ملفات HTML وذاكرة التخزين المؤقت لمنع تحميل الملفات المكررة. أردت أن تفعل وحدة التحكم نفس الشيء ، لكن للأسف لم أتمكن من العثور على تعريف وظيفة وحدة التحكم. جربت العديد من الأساليب لكنني فشلت. سأدرس رمز المصدر في المستقبل لمعرفة ما كان مفقودًا. سأقوم بتحميل الكود مباشرة ، والمنطق غير معقد ، لذلك لن أتحدث كثيرًا.
// سجل html المحملة ووحدة التحكم لمنع تحميل الشبكة المكررة $ ionic.files = {html: {} ، وحدة التحكم: {}} ؛ لتحميل html و cache $ ionic.files.html [name] = jQuery.ajax ({url: 'views/' + name + ".html" ، async: false}). reviewtext ؛} return $ ionic.files.html [ = $ .getScript ('الأصول/وحدة التحكم/' + name + '.js') ؛ jquery.ajax ({"url": 'armets/controller/' + name + '.js' ، "datatype": "script" ، "async": false}) ؛ {url: "/login" ، وحدة تحكم: ResolveController ("logincontroller") ، القالب: function () {return $ ionic.gethtml ("login") ؛ما ورد أعلاه هو الوصف الكامل لتحميل AngularJS Deling Malping HTML الذي قدمه لك المحرر. آمل أن يكون ذلك مفيدًا لك. إذا كان لديك أي أسئلة ، فيرجى ترك رسالة لي وسوف يرد المحرر إليك في الوقت المناسب. شكرا جزيلا لدعمكم لموقع wulin.com!