我想在AngularJS模板中创建一个条件。我从Youtube API中获取一个视频列表。有些视频是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指令。

其他回答

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

你可以像上面一样使用ng-if指令。

ng If else语句

ng-if="receiptData.cart == undefined ? close(): '' ;"

三元是最明确的方法。

<div>{{ConditionVar ? 'varIsTrue' : 'varIsFalse'}}</div>

在这种情况下,您希望根据对象属性“计算”像素值。

我会在控制器中定义一个函数来计算像素值。

在控制器中:


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

然后在模板中写:


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

Angular本身并没有提供if/else功能,但你可以通过包含以下模块来获得:

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>