我想在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
。不知道该如何应对这种情况:
Angularjs(低于1.1.5版)不提供此if/else
功能。以下是您要达到的目标的几种选择:
( 如果您使用的是1.1.5或更高版本,请跳至下面的更新(#5) )
正如@Kirk在评论中所建议的那样,最干净的方法是使用三元运算符,如下所示:
<span>{{isLarge ? 'video.large' : 'video.small'}}</span>
ng-switch
指令:可以像下面这样使用。
<div ng-switch on="video">
<div ng-switch-when="video.large">
<!-- code to render a large video block-->
</div>
<div ng-switch-default>
<!-- code to render the regular video block -->
</div>
</div>
ng-hide
/ [`ng-show`](https://docs.angularjs.org/api/ng/directive/ngShow)指令
或者,您也可以使用,ng-show/ng-hide
但是使用它实际上将同时渲染一个大视频和一个小视频元素,然后隐藏一个满足ng- hide
条件的元素,并显示一个满足ng-show
条件的元素。因此,在每个页面上,您实际上将呈现两个不同的元素。
class`](https://docs.angularjs.org/api/ng/directive/ngClass)指令。
可以如下使用。
<div ng-class="{large-video: video.large}">
<!-- video block goes here -->
</div>
large-video
如果video.large
属实,以上内容基本上将为div元素添加一个CSS类。
directive`](https://docs.angularjs.org/api/ng/directive/ngIf)
ng-if
指令:在以上版本中,1.1.5
您可以使用ng- if
指令。如果提供的表达式返回false
,则将删除该元素,如果表达式返回,则将其重新插入element
DOM中true
。可以如下使用。
<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>
我想在AngularJS模板中做一个条件。我从Youtube API获取一个视频列表。视频有的比例为16:9,有的比例为4:3。 我想提出这样一个条件: 我正在使用迭代视频。我不知道该怎么处理这种情况: 是否在作用域中添加函数? 是否在模板中执行?
我用R编写了以下代码,效果很好。但是,假设我必须对具有多个级别的因子变量应用类似的代码(
"Come to me, all you that are weary and are carrying heavy burdens, and I will give you rest. Take my yoke upon you, and learn from me; for I am gentle and humble in heart, and you will find rest for
是时候给这些网页来点动态特性了——用AngularJS!我们这里为后面要加入的控制器添加了一个测试。 一个应用的代码架构有很多种。对于AngularJS应用,我们鼓励使用模型-视图-控制器(MVC)模式解耦代码和分离关注点。考虑到这一点,我们用AngularJS来为我们的应用添加一些模型、视图和控制器。 请重置工作目录: git checkout -f step-2 我们的应用现在有了一个包含三部
问题内容: 我有一个看起来像这样的有角模板… 我已经设置了一个JSfiddle来显示绑定的数据。 我需要做的是根据数据内容有条件地显示“ from”,“ to”和“ arrowTo” div。 日志是这个… 如果数据中存在“ from”对象,则显示“ from” div并绑定数据,但不显示“ createdBy” div。 如果没有“来自”对象,但是有“ createdBy”对象,则显示“ cre
问题内容: 如何使用AngularJS(在模板中)进行三元运算? 最好在html属性中使用一些属性(类和样式),而不是创建和调用控制器的函数。 问题答案: 更新 :Angular 1.1.5添加了一个三元运算符,因此现在我们可以简单地编写 如果使用的是较早版本的Angular,则有两个选择: 上面的项目2创建具有两个属性的对象。数组语法用于选择名称为true的属性或名称为false的属性,并返回关