في التعليمات الأصلية لـ Angular ، يتم استخدام هذه التعليمات للتحكم في ما إذا كانت العناصر معروضة أم لا ، NG-Show/Ng-Hide/Ng-If و Ng-switch.
نستخدمه أيضًا في كثير من الأحيان في تحسين الأداء الزاوي.
دعونا نلقي نظرة على خلافاتهم.
من بينها ، NG-Show و NG-Hide متماثلان ، باستثناء أن NG-Show يعرض الظروف عندما يلتقيان ، ويخفي NG-Hide الظروف عند اجتماعهم. لن نذكر ng-hide أدناه.
NG-Show
سيتم تشغيل قيمة Bool التي تلقاها NG-Show لعرض عقدة DOM عندما يكون صحيحًا. عندما تكون قيمة NG-Show خاطئة ، تتم إضافة فئة من ng-hide إلى عقدة DOM ، والتعبير عن هذه الفئة هو "عرض: لا شيء". عندما يتم تحميل DOM ، سيتم تحميل جميع العقد في NG-Show. وهذا يعني أن NG-Show يختبئ فقط ويعرض عقدة DOM. هذا يعني أنه إذا كان هناك الكثير من الزيت في تعليمات NG-Show ، حتى لو لم يعرضها ، فستظل عقدة DOM التي تتم فيها تقديمها.
نانوغرام
NG-IF يتلقى أيضًا قيمة منطقية. عندما تكون قيمتها خاطئة ، لا يتم إنشاء العقدة التي تحكمها أو يتم تدمير عقدة DOM السابقة. حتى إذا كانت هذه العقدة تحتوي على الكثير من روابط NG ، فلن يتم تنفيذها. لذلك ، في تطوير المشروع ، إذا لم نكن بحاجة إلى تحميل DOM في وقت واحد ، فيمكننا استخدام NG-IF لمنع حدوث حدث NG ، وبالتالي تسريع سرعة تحميل DOM. خاصة عند التكرار ، يكون التأثير واضحًا بشكل خاص عندما تحتوي كل جزء من البيانات على هياكل بيانات معقدة. عندما تكون قيمتها صحيحة ، سيتم إنشاء عقدة DOM.
لذلك إذا كنت تستخدم التعليمات والقوالب لتقديم معلومات إضافية ، مثل النقر لعرض المعلومات التفصيلية لعنصر القائمة ، تأكد من استخدام NG-IF (AngularJSV. 1.1.5 وبعد ذلك). إنه يمنع التقديم (مقارنة مع NG-Show).
ng-switch
إن وجود NG-switch يوفر لنا الكثير من المتاعب (يجب أن يقال أن Angular نفسها مثل هذا). على سبيل المثال ، استخدمنا الطريقة التقليدية لإنشاء علامة تبويب علامة تبويب. نحتاج إلى الحلقة مرارًا وتكرارًا ثم نحكم على الحالة الحالية ثم تنفيذ الأشياء المقابلة. باستخدام NG-switch في Angular أمر بسيط للغاية. يجب أن يستمع NG-Switch أولاً إلى متغير معين ، وما هو المحتوى الذي سيتم عرضه أدناه عند قيمة المتغير. كما هو موضح أعلاه ، عند الاستماع إلى نوع متغير مثل ، عندما تكون قيمة النوع تساوي "AAA" ، سيتم إنشاء هذه المنطقة وعرضها ؛ عندما تكون قيمة النوع تساوي "BBB" ، سيتم تدمير جميع DOMs من "AAA" السابقة ، ثم يتم إنشاء جميع "BBB'doms" وعرضها.
مثال http://jsbin.com/hinehi/1/edit