[If-statement] if else statement in AngularJS templates


Answers

في أحدث إصدار من Angular (اعتبارًا من 1.1.5) ، قاموا بتضمين توجيه ngIf يسمى ngIf . يختلف الأمر عن ngShow و ngHide في أن العناصر غير مخفية ، ولكنها غير مضمنة في DOM على الإطلاق. فهي مفيدة جدًا للمكونات المكلفة في الإنشاء ولكنها غير مستخدمة:

<div ng-if="video == video.large">
    <!-- code to render a large video block-->
</div>
<div ng-if="video != video.large">
    <!-- code to render the regular video block -->
</div>
Question

أريد أن أفعل شرطًا في قالب AngularJS. أحضر قائمة فيديو من واجهة برمجة تطبيقات Youtube. بعض مقاطع الفيديو في نسبة 16: 9 وبعضها في نسبة 4: 3.

أريد أن أصنع حالة من هذا القبيل:

if video.yt$aspectRatio equals widescreen then 
    element's attr height="270px"
else
    element's attr height="360px"

أعمل على تكرار مقاطع الفيديو باستخدام ng-repeat . ليس لدي أي فكرة عما يجب أن أفعله لهذه الحالة:

  • إضافة وظيفة في النطاق؟
  • افعلها في القالب؟



    <div ng-if="modeldate==''"><span ng-message="required" class="change">Date is required</span> </div>

يمكنك استخدام التوجيه ng-if على النحو الوارد أعلاه.




لا يوفر الزاوي نفسه وظيفة / أخرى ، ولكن يمكنك الحصول عليه عن طريق تضمين هذه الوحدة:

https://github.com/zachsnow/ng-elif

بكلماتها الخاصة ، إنها مجرد "مجموعة بسيطة من توجيهات التحكم في التحكم: ng-if و ng-else-if و ng-else." انها سهلة وبديهية للاستخدام.

مثال:

<div ng-if="someCondition">
    ...
</div>
<div ng-else-if="someOtherCondition">
    ...
</div>
<div ng-else>
    ...
</div>



في هذه الحالة ، تريد "حساب" قيمة بكسل حسب خاصية الكائن.

أود أن أعرف وظيفة في وحدة التحكم التي تحسب قيم البكسل.

في وحدة تحكم:


$scope.GetHeight = function(aspect) {
   if(bla bla bla) return 270;
   return 360;
}

ثم في القالب الخاص بك فقط اكتب:


element height="{{ GetHeight(aspect) }}px "