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

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

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

    3K30

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

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

    18.9K20

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

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

    15.3K30

    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这种动态渲染节点还是有一定性能消耗。。...总结 这一篇没有涉及到路由这些和表单这些; 准备拆成两个文章来说; 路由配置及懒加载这些, 模板驱动表单及响应式表单[嵌套表单响应等],回车键触发搜索等。。

    10510

    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知识点梳理第二篇-基本语法

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

    2.5K30

    Angular2 之 结构型指令几个概念

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

    3K20

    Angular 显示英雄列表

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

    4.4K70

    Angular 显示英雄列表

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

    4K30

    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
    领券