如何在一个*ngIf
语句中包含多个案例?我习惯于Vue或Angular 1带有if
、else if
和else
,但Angular 4似乎只有true
(if
)和false
(else
)条件。
根据文件,我只能做:
<ng-container *ngIf="foo === 1; then first else second"></ng-container>
<ng-template #first>First</ng-template>
<ng-template #second>Second</ng-template>
<ng-template #third>Third</ng-template>
但我想有多种条件(比如):
<ng-container *ngIf="foo === 1; then first; foo === 2; then second else third"></ng-container>
<ng-template #first>First</ng-template>
<ng-template #second>Second</ng-template>
<ng-template #third>Third</ng-template>
但我最终不得不使用ngSwitch
,这感觉像是黑客攻击:
<ng-container [ngSwitch]="true">
<div *ngSwitchCase="foo === 1">First</div>
<div *ngSwitchCase="bar === 2">Second</div>
<div *ngSwitchDefault>Third</div>
</ng-container>
或者,我在Angular 1和Vue中使用的很多语法在Angular 4中似乎都不受支持,那么,用这样的条件构造代码的推荐方法是什么呢?
这似乎是最干净的方式
if (foo === 1) {
} else if (bar === 99) {
} else if (foo === 2) {
} else {
}
在模板中:
<ng-container *ngIf="foo === 1; else elseif1">foo === 1</ng-container>
<ng-template #elseif1>
<ng-container *ngIf="bar === 99; else elseif2">bar === 99</ng-container>
</ng-template>
<ng-template #elseif2>
<ng-container *ngIf="foo === 2; else else1">foo === 2</ng-container>
</ng-template>
<ng-template #else1>else</ng-template>
请注意,当条件涉及不同的变量时(一次只有一个情况是正确的),它的工作方式就像一个正确的。在这种情况下,其他一些答案不正确。
旁白:天哪,棱角分明,这是一些非常丑陋的
,否则如果
模板代码...
你可以使用:
<ng-template [ngIf]="index == 1">First</ng-template>
<ng-template [ngIf]="index == 2">Second</ng-template>
<ng-template [ngIf]="index == 3">Third</ng-template>
除非ng容器部分对你的设计很重要。
这是一个Plunker
另一种选择是嵌套条件
<ng-container *ngIf="foo === 1;else second"></ng-container>
<ng-template #second>
<ng-container *ngIf="foo === 2;else third"></ng-container>
</ng-template>
<ng-template #third></ng-template>
我需要在angularjs模板中使用else if。语法是什么?例如,在c语言中,我将编写如下代码: 我的代码:
这有点像这个问题https://issues.jboss.org/browse/RF-11469我有一个包含组合的模板,定义如下: 控制器是通过模板子级中的定义的。 以下是复合impl(标准面板): 点击按钮“filterAction”结果如下: javax.faces.FacesException:#{cc.attrs.filterAction}:javax.el.属性NotFoundExcep
我有一个非常特殊的例子,我需要在一个模板文本中使用一个模板文本,但是我做不到。 代码如下所示: 然而,我必须将其包装在函数中,同时保持变量的值,这会导致错误发生。无论我是否逃脱了滴答声。 使用转义滴答,我收到以下错误消息: 错误:预期的某个链接但未提供 没有,我得到: 意外标记,预期“”,” 我该怎么处理这件事? 编辑:可能应该注意的是,中传递的代码将被渲染并且需要使用它。它最终将通过传递给另一个
问题内容: 因此,我正在做一个简单的if检查结构中的布尔变量,但似乎不起作用,只是停止呈现HTML。 所以下面的结构是这样的: 现在,我可以显示一个带有类别的Category结构。 贝娄是一个结构的例子: 我已经尝试了多种方法,如下所示,但是它们都不起作用: 问题答案: 您必须从模板导出要访问的所有字段:将其首字母更改为大写: 以及每个引用: 每个未导出的字段只能从声明包中访问。您的软件包声明类型
我试图声明,如果变量为 true 或不存在(即,var 的默认值为 true),则 helm 模板中的代码块应该存在。以下作品: 这看起来相当复杂,有什么更简单的吗?我尝试了几种方法使用函数,但它们都导致忽略该值(无论是否存在,true或false,块总是被渲染):
我创建了新项目,但找不到出错的地方。 Django versiob - 3.1.5 蟒蛇 3.7.4 模板DoesNotExist位于/index。html请求方法:GET请求URL:http://127.0.0.1:8000/Django版本:3.1.5异常类型:TemplateDoesNotExist异常值: 索引。html异常位置:C:\Users\user\PycharmProjects\