加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > 安全 > 正文

angular – 条件模板插值是否有语法?

发布时间:2020-12-17 17:33:00 所属栏目:安全 来源:网络整理
导读:参见英文答案 AngularJS set button text based on condition in ng-repeat????????????????????????????????????1个 我有一个带有以下元素的角度(2.4.9)模板: div *ngIf="a || b || c || d || e"Remaining/div 我现在面临着根据另一个条件改变迄今为止静态
参见英文答案 > AngularJS set button text based on condition in ng-repeat????????????????????????????????????1个
我有一个带有以下元素的角度(2.4.9)模板:

<div *ngIf="a || b || c || d || e">Remaining</div>

我现在面临着根据另一个条件改变迄今为止静态的“剩余”文本的需要:

<div *ngIf="a || b || c || d || e || Z != 'draft'">Initial</div>
<div *ngIf="a || b || c || d || e || Z == 'draft'">Remaining</div>

* ngIf已经加载了,我想防止不得不复制它,就像我在上面的例子中所做的那样,只是添加一个额外的条件.

我也想避免这样做:

<div *ngIf="a || b || c || d || e">
    <div *ngIf="Z != 'draft'">Initial</div>
    <div *ngIf="Z == 'draft'">Remaining</div>
</div>

…因为这会改变页面的结构,从而改变样式规则.

所以,不是在div中引入一个带有自己的* ngIf的新元素,这会导致我们添加样式规则,而是寻找像条件插值语法这样的东西,这样我就可以写了

<div *ngIf="many || conditions">{{ status === "DRAFT" ? 'Initial' : 'Remaining' }}</div>

以类似的方式,你可以做{{1 1}},这也是一个返回值的表达式,所以至少在概念上看起来相似.

我上面的尝试导致模板解析器爆炸,其中一个看似与此模板无关的不匹配标签,所以它实际上做的并不是立即明显的,但它显然是不正确的.

解决方法

在Angular4中你可以使用else

<template #other>
  <div>Remaining</div>
</template>

<div *ngIf="a || b || c || d || e || Z != 'draft'; else other">Initial</div>

除了将表达式移动到getter或方法并在* ngIf =“…”中使用该getter之外,Angular2没有任何内容.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读