首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

ngIf可以引用Angular 1.5中嵌套的ngFor中的变量。如何在Angular 10中实现同样的目标?

在Angular 10中,ngIf指令无法直接引用ngFor中的变量。然而,你可以通过使用ng-container和ng-template结合ngFor来实现类似的功能。

首先,你可以使用ng-container来包裹ngFor指令,并在ng-container中定义一个模板引用变量,如下所示:

代码语言:txt
复制
<ng-container *ngFor="let item of items; let i = index">
  <ng-container *ngIf="condition">
    <!-- 在这里使用item和i变量 -->
  </ng-container>
</ng-container>

然后,你可以在ng-template中使用模板引用变量来引用ngFor中的变量,如下所示:

代码语言:txt
复制
<ng-container *ngFor="let item of items; let i = index">
  <ng-container *ngIf="condition">
    <ng-template #myTemplate>
      <!-- 在这里使用item和i变量 -->
    </ng-template>
  </ng-container>
</ng-container>

最后,你可以使用ngTemplateOutlet指令将ng-template插入到需要的位置,如下所示:

代码语言:txt
复制
<ng-container *ngFor="let item of items; let i = index">
  <ng-container *ngIf="condition">
    <ng-container *ngTemplateOutlet="myTemplate"></ng-container>
  </ng-container>
</ng-container>

通过这种方式,你可以在Angular 10中实现类似于Angular 1.5中ngIf引用ngFor变量的目标。

请注意,以上示例中的"condition"是一个代表条件的表达式,你需要根据实际情况进行替换。另外,你可以根据具体需求在ng-template中添加任何你需要的HTML代码和Angular指令。

关于腾讯云相关产品和产品介绍链接地址,由于要求不能提及具体品牌商,我无法提供相关链接。但你可以通过访问腾讯云官方网站,查找与云计算相关的产品和服务。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

AngularDart4.0 指南- 模板语法二 顶

NgFor:为列表中的每个项目重复一个模板。 NgSwitch:只显示多个可能元素中的一个。 NgIf  您可以通过向该元素应用NgIf指令(称为宿主元素)来添加或移除DOM中的元素。...警惕隐藏大型组件树; NgIf可能是更安全的选择。 警惕null ngIf指令通常用于防止null。 显示/隐藏是无用的。 如果嵌套表达式试图访问null属性,Angular会抛出一个错误。...* ngFor与index(索引) NgFor指令上下文的index属性返回每个迭代中项目的从零开始的索引。 您可以捕获模板输入变量中的index,并在模板中使用它。... 模板引用变量(#var) 模板引用变量通常是对模板内DOM元素的引用。 它也可以是对Angular组件或指令或Web组件的引用。 使用hash符号(#)来声明一个引用变量。...模板引用变量警告说明 模板引用变量(#phone)与模板输入变量(let phone)不同,如您在*ngFor中可能看到的那样。 了解“结构指令”指南中的差异。 引用变量的范围是整个模板。

30K20

AngularDart 4.0 高级-结构指令 顶

您可以在分配给ngFor的字符串中启用这些功能,这是您在Angular的microsyntax中编写的。...microsyntax解析器将该字符串转换为上的属性: let关键字声明了模板中引用的模板输入变量。这个例子中的输入变量是hero,i和odd。...当你编写自己的结构指令时,可以使用这些微观语法机制。 研究NgIf和NgFor的源代码是了解更多信息的好方法。 模板输入变量 模板输入变量是一个变量,其值可以在模板的单个实例中引用。...变量的作用域限于重复模板的单个实例。 您可以在其他结构指令的定义中再次使用相同的变量名称。 您通过在#(#var)前缀加上变量名称来声明一个模板引用变量。 引用变量是指其附加的元素,组件或指令。...它可以在整个模板中的任何地方访问。 模板输入和引用变量名称都有其自己的名称空间。 let hero中的hero变量永远不会和#hero中的hero一样。

16.1K20
  • Angular快速学习笔记(3) -- 组件与模板

    如果你要引用的变量名存在于一个以上的命名空间中,那么,模板变量是最优先的,其次是指令的上下文变量,最后是组件的成员。...事件绑定 可以通过 Angular 事件绑定来声明对哪些用户动作感兴趣 圆括号中的名称 —— 比如 (click) —— 标记出目标事件。在下面例子中,目标是按钮的 click 事件。...'red' : 'green'"> 模板引用变量 ( #var ) 模板引用变量通常用来引用模板中的某个 DOM 元素,它还可以引用 Angular 组件或指令或Web Component。...使用井号 (#) 来声明引用变量。#phone 的意思就是声明一个名叫 phone 的变量来引用 元素。...也是同样的用途。 ngIf="hero"> The hero's name is {{hero!.

    15.3K30

    AngularDart4.0 英雄之旅-教程-04明细 顶

    ngFor指令遍历组件的英雄列表并为该列表中的每个英雄呈现该模板的一个实例。 表达式部分将hero标识为模板输入变量,其中包含每个迭代的英雄详情。...你可以在模板中引用这个变量来访问当前英雄的属性。...onSelect(hero)表达式调用AppComponent方法onSelect(),传递模板输入变量hero作为参数。 这是你在ngFor指令中定义的同一个英雄变量。...当用户选择一个英雄时,selectedHero变为非null,ngIf将英雄详细内容放入DOM中,并评估嵌套的绑定。...您将Hero类移到lib / src下的自己的文件中。 你增加了选择英雄和显示英雄的细节的能力。 您了解了如何在组件模板中使用核心指令ngIf和ngFor。

    3K30

    Angular 从入坑到挖坑 - 表单控件概览

    一、Overview angular 入坑记录的笔记第三篇,介绍 angular 中表单控件的相关概念,了解如何在 angular 中创建一个表单,以及如何针对表单控件进行数据校验。...,从而生成错误信息列表 在进行用户输入数据有效性验证时,在控件上通过添加一个模板引用变量来暴露出 ngModel,从而在模板中获取到指定控件的状态信息,之后就可以通过获取错误信息列表来进行反馈 的情况下,对于系统来说,表单是不允许提交的,因此可以将提交事件绑定到表单的 ngSubmit 事件属性上,通过模板引用变量的形式,在提交按钮处进行数据有效性判断,当无效时,禁用表单的提交按钮...当构建复杂表单时,可以在 FormGroup 中通过嵌套 FormGroup 使表单的结构更合理 import { Component, OnInit } from '@angular/core';...对于模板驱动表单,同样是采用自定义指令的方式进行跨字段的交叉验证,与单个控件的验证不同,此时需要将指令添加到 form 标签上,然后使用模板引用变量来获取错误信息 import { Directive

    18.9K20

    Angular 中结构指令模式 - 它们是什么且怎么使用

    如果你对学习 结构指令 感兴趣,那么现在我们就来接着阅读,并了解它们是什么,它们有什么用以及如何在项目中使用它们。 你将学到什么 在本文中,你将学到关于 Angular 结构指令模式的知识点。...Angular 结构指令是什么? Angular 结构指令是能够更改 DOM 结构的指令。这些指令可以添加、移除或者替换元素。结构指令在其名字之前都有 * 符号。...Myshopping: string = ''; 我们有一个 MyShopping 变量,它有一个默认值,用于在模块中渲染满足条件的特定元素。...Angular 中我们什么时候需要用结构指令呢? 如果你想在 DOM 中添加或者移除一个元素的时候,你就应该使用结构指令。 当然,我们还可以使用它们来更改元素 CSS 样式,或者添加事件监听器。...总结 结构指令是 Angular 中很重要的一部分,我们可以通过多种方式使用它们。 希望通过本文,读者能更好理解怎么去使用这些指令和什么时候去使用这些模式。 本文为译文,采用意译的形式。

    3.8K20

    Angular 2.x折腾记 :(2)初步认识angular2,不一样的开发模式

    基础概念 官方中文社区一把梭: 你想要的都概念基本可以在这里找到。 angular-cli 启动 src是开发目录,生产打包后会产生一个dist目录; 初步说下你从启动到浏览器看到app works!...[class.a]或者[style.font-size]:单一操作类或者某个行内样式 数据遍历(*ngFor) *ngFor="let i of item; let index = index": 可以用这个来遍历数组对象...,let index = index意思是创建一个局部遍历把当前遍历的索引保存到你的自定义变量index 动态渲染(*ngIf) *ngIf="item" : 比如loading到视图全部渲染就经常用到这个...,当前不在乎低版本的可以用[hidden]来控制切换,因为*ngIf这种动态渲染节点的还是有一定的性能消耗的。。...总结 这一篇没有涉及到路由这些和表单这些; 准备拆成两个文章来说; 路由的配置及懒加载这些, 模板驱动的表单及响应式表单[嵌套表单响应等],回车键触发搜索等。。

    10810

    Angular 2 + 折腾记 :(2)初步认识angular2,不一样的开发模式

    :组件逻辑处理 // 导入装饰器:装饰器可以理解为一些函数的封装,使其书写起来非常简洁明了 import { Component } from '@angular/core';...,用来动态判断增加多个样式 [class.a]或者[style.font-size]:单一操作类或者某个行内样式 数据遍历(*ngFor) *ngFor="let i of item; let index...= index": 可以用这个来遍历数组对象,let index = index意思是创建一个局部遍历把当前遍历的索引保存到你的自定义变量index 动态渲染(*ngIf) *ngIf="item"...: 比如loading到视图全部渲染就经常用到这个,当前不在乎低版本的可以用[hidden]来控制切换,因为*ngIf这种动态渲染节点的还是有一定的性能消耗的。。...---- 总结 这一篇没有涉及到路由这些和表单这些; 准备拆成两个文章来说; 路由的配置及懒加载这些, 模板驱动的表单及响应式表单[嵌套表单响应等],回车键触发搜索等。。

    6.2K20

    Angular核心概念:数据绑定

    {{uname}}">直接在属性上使用 形式2:直接使用[]推荐 注意:属性绑定通常赋值为变量,如果赋值为常量(如字符串常量必须用引号括起来,如ngFor ngFor=“let 临时变量 of 数据”> ngFor=“let 临时变量 of 数据;let i= index”> ngFor=“let...ngIf=“布尔表达式”;else ELSE块的编号> 的编号> … 举例: html文件 ngIf="isPayingUser...= false; age = 32; 效果图演示: 特殊的选择绑定 Angular中的指令分三类: 1.组件指令:NG中Component继承自Directive 2.结构型指令:会影响...DOM树结构,必须使用开头,如ngFor,*ngIf 3.属性型指令:不会影响DOM树结构,只是影响元素外观或行为,必须用[]括起来,如 :[ngClass],[ngStyle] <container-element

    3.6K10

    angular知识点梳理第二篇-基本语法

    文章目录 前文回顾 基本语法 常见指令 NgModel NgFor NgIf Ng-container 管道 前文回顾 前面已经写了关于angular项目的基本介绍和如何创建一个angular项目,这一篇主要梳理一些...angular的基本语法,这样有利于后面我们进行梳理别的知识点做一些铺垫 基本语法 常见指令 NgModel NgModel就和vue中的v-model的效果是一致的,只是写法会有一些区别,vue中是可以直接进行使用的...,但是在angular中我们引入框架的一个核心模块FormsModule才可以,该指令就是将数据驱动视图的改变!...在app.modules.ts中引入forms模块 // 核心模块 import { NgModule } from '@angular/core'; //引入forms模块实现数据的双向绑定 import...{{item.id}} 运行效果 NgIf NgIf指令是可以控制页面元素的显示与消失,这里和隐藏要区别开,他的效果和css中的display:none效果是一致的,和visibility

    2.6K30

    Angular2 之 结构型指令几个概念

    结构型指令 结构型指令通过添加和删除 DOM 元素来改变DOM的布局。 我们经常看到的内置的结构型指令有:ngIf、ngSwitch、ngFor。 下面我们着重介绍ngIf。...angular会从DOM中移除该元素,停止相关组件的变更检测,把它从DOM事件中移除,并且销毁组件。组件会被垃圾回收,并释放内存。...而在Angular应用中,Angular会移除 标签及其子元素。 我们可以通过把短语"Hip! Hip! Hooray!"...* 我们把它们都作为私有变量注入到构造函数中。 * viewContainer 往这里面去添加,指向的是Template,这是边界,这样界定。...要么显示的包含在Template标签中,要么隐式的使用*这种语法糖去包装在Template标签中。它简化了ngIf和ngFor —— 无论是写还是读。

    3K20

    Angular 显示英雄列表

    Angular 会把所点击的  上的 hero 对象传给它,这个 hero 也就是前面在 *ngFor 表达式中定义的那个。...但模板中的绑定表达式引用了 selectedHero 的属性(表达式为 {{selectedHero.name}}),这必然会失败,因为你还没选过英雄呢。 现在,从列表中随便点击一个条目。...把显示英雄详情的 HTML 包裹在一个  中。 并且为这个 div 添加 Angular 的 *ngIf 指令,把它的值设置为 selectedHero。...不要忘了 ngIf 前面的星号(*),它是该语法中的关键部分。...用户可以选择一个英雄,并查看该英雄的详情。 你使用 *ngFor 显示了一个列表。 你使用 *ngIf 来根据条件包含或排除了一段 HTML。 你可以用 class 绑定来切换 CSS 的样式类。

    4.4K70

    ng-content 中隐藏的内容

    如果你尝试在 Angular 中编写可重复使用的组件,则可能会接触到内容投射的概念。然后你发现了 ,并找到了一些关于它的文章,进而实现了所需的功能。...由于许多问题与Angular 中的组件生命周期相关,因此我们的主要组件将显示一个计数器,用于展示它已被实例化的次数: import { Component } from '@angular/core';...请注意,目标 ng-content 会优先于 catch-all,即使它在模板中的位置靠后。 ngProjectAs 有时你的内部组件会被隐藏在另一个更大的组件中。...在我们尝试解释为什么之前,让我们再来验证一个问题,即在 ng-content 指令的外层容器中添加 ngIf 指令: import { Component } from '@angular/core';...难道这是 ngIf 指令产生的问题,让我们测试一下 ngFor 指令,看看是否有同样的问题: import { Component } from '@angular/core'; @Component

    2.7K30

    过渡到 Angular 17 的新控制流语法

    传统指令与Angular 17的控制流语法对比让我们使用一些示例来比较传统指令和Angular 17的控制流语法:*ngIf指令 vs @if控制块Before(传统 *ngIf):ngIf...} *ngIf指令和async管道 vs @if和asyncBefore(带有 *ngIf 的 async 管道):ngIf="user$ | async as user">...} *ngFor指令 vs @for控制块Before(传统 *ngFor): ngFor="let item of items">{{ item }}可以使用 @defer 块来延迟加载内容。向后兼容性和性能Angular 17允许您在应用程序中同时使用新旧语法。...结论Angular 17引入的新控制流语法在处理Angular应用程序中的模板和渲染逻辑方面带来了显著的改进。转换到这种新语法,承诺会使我们的代码更易读、易维护和高性能。

    72620

    Angular 显示英雄列表

    Angular 会把所点击的  上的 hero 对象传给它,这个 hero 也就是前面在 *ngFor 表达式中定义的那个。...但模板中的绑定表达式引用了 selectedHero 的属性(表达式为 {{selectedHero.name}}),这必然会失败,因为你还没选过英雄呢。 现在,从列表中随便点击一个条目。...把显示英雄详情的 HTML 包裹在一个  中。 并且为这个 div 添加 Angular 的 *ngIf 指令,把它的值设置为 selectedHero。...不要忘了 ngIf 前面的星号(*),它是该语法中的关键部分。...用户可以选择一个英雄,并查看该英雄的详情。 你使用 *ngFor 显示了一个列表。 你使用 *ngIf 来根据条件包含或排除了一段 HTML。 你可以用 class 绑定来切换 CSS 的样式类。

    4K30
    领券