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

Angular 2:如何在结构指令中访问模板输入变量

Angular 2是一种流行的前端开发框架,它提供了丰富的功能和工具来构建现代化的Web应用程序。在Angular 2中,结构指令是一种特殊类型的指令,用于操作和控制DOM元素的结构。

要在结构指令中访问模板输入变量,可以使用@ViewChild装饰器。@ViewChild装饰器允许我们在组件类中获取对模板中元素或指令的引用。

首先,在组件类中导入ViewChild装饰器:

import { Component, ViewChild } from '@angular/core';

然后,在组件类中定义一个ViewChild属性,并使用装饰器将其与模板中的元素或指令关联起来。例如,如果我们有一个模板输入变量名为"myInput",我们可以这样做:

@ViewChild('myInput') myInput;

在这个例子中,我们使用字符串"myInput"作为参数传递给@ViewChild装饰器,以指定要获取的模板输入变量的名称。

接下来,我们可以在组件类的方法中使用myInput属性来访问模板输入变量。例如,我们可以在ngAfterViewInit生命周期钩子函数中访问它:

ngAfterViewInit() { console.log(this.myInput); }

在这个例子中,我们在控制台上打印出myInput属性的值。

需要注意的是,@ViewChild装饰器返回的是一个QueryList对象,它是一个可观察对象,可以订阅其变化。如果模板中有多个具有相同名称的模板输入变量,@ViewChild装饰器将返回一个QueryList对象,其中包含所有匹配的元素或指令。

对于Angular 2的更多信息和详细示例,请参考腾讯云的Angular 2产品文档:

Angular 2产品介绍

希望这个答案能够帮助你理解如何在结构指令中访问模板输入变量。如果你有任何其他问题,请随时提问。

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

相关·内容

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

Angular把这条指令翻译成一个围绕宿主元素的,然后重复使用这个模板为列表的每个英雄创建一组新的元素和绑定。 在“结构指令”指南中了解微语法。...模板输入变量 hero之前的let关键字创建一个名为hero的模板输入变量。 ngFor指令迭代由父组件的heroes属性返回的heroes,并在每次迭代期间将hero设置为列表的当前项目。...* ngFor与index(索引) NgFor指令上下文的index属性返回每个迭代项目的从零开始的索引。 您可以捕获模板输入变量的index,并在模板中使用它。...模板引用变量警告说明 模板引用变量(#phone)与模板输入变量(let phone)不同,您在*ngFor可能看到的那样。 了解“结构指令”指南中的差异。 引用变量的范围是整个模板。...您不必在模板表达式或语句中使用任何特殊的操作来访问指令成员。 您对目标指令的成员访问权限有限。 您只能绑定到明确标识为输入和输出的属性。

29.9K20

AngularDart 4.0 高级-结构指令

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

16K20

Angular实战之使用NG-ZORRO创建一个企业级后台框架(进阶篇)

前言:   上一篇文章我们讲了如何在创建的Angular项目中快速引入ng-zorro-antd企业台组件库,并且快速构建后台管理页面框架模板。...这一章主要介绍的是如何在创建好的后台管理页面框架的快速生成NG-ZORRO相关的组件,并且介绍Angular相关目录结构、生命周期函数,路由配置和使用相关知识点,以及如何使用Angular CLI使用一行代码快速添加...样式表) 目录结构描述: ## 说明 ```javascript |-- 文件名 // 说明 |-- 首层目录 |-- e2e // 自动化集成测试目录 |-- node_modules // npm...ngOnInit() 在 Angular 第一次显示数据绑定和设置指令/组件的输入属性之后,初始化指令/组件。 在第一轮 ngOnChanges() 完成之后调用,只调用一次。...2、配置首页组件路由(多模块路由完美解决): 首先,我们的博客项目存在博客管理和用户管理两个核心模块,我们创建了两个模块,那么我们如何在【app-routing.module.ts】应用路由文件配置多个模块的路由

3.8K20

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

一、Overview angular 入坑记录的笔记第三篇,介绍 angular 中表单控件的相关概念,了解如何在 angular 创建一个表单,以及如何针对表单控件进行数据校验。...四、Step by Step 4.1、表单简介 用来处理用户的输入,通过从视图中捕获用户的输入事件、验证用户输入的是否满足条件,从而创建出表单模型修改组件的数据模型,达到获取用户输入数据的功能 模板驱动表单...在使用 ngModel 进行模板绑定时,angular 在 form 标签上自动附加了一个 NgForm 指令,因为 NgForm 指令会控制表单带有 ngModel 指令和 name 属性的元素,而...,从而生成错误信息列表 在进行用户输入数据有效性验证时,在控件上通过添加一个模板引用变量来暴露出 ngModel,从而在模板获取到指定控件的状态信息,之后就可以通过获取错误信息列表来进行反馈 <div...在模板驱动表单,因为不是直接使用的 FormControl 实例,因此这里应该在模板上添加一个自定义的指令来完成对于控件数据的校验 使用 angular cli 创建一个用来进行表单验证的指令 ng

18.9K20

Angular 从入坑到挖坑 - 组件食用指南

一、Overview angular 入坑记录的笔记第二篇,介绍组件的相关概念,以及如何在 angular 通过使用组件来完成系统功能的实现 对应官方文档地址: 显示数据 模板语法 用户输入 组件之间的交互...模板表达式的变量来源 模板本身的变量 指令的上下文变量 组件的成员信息(属性 or 方法) 在使用模板表达式时,如果变量名在多个来源中都存在的话,则模板变量是最优先的,其次是指令的上下文变量,最后是组件的成员...因此,这里应该使用模板引用变量的方式获取数据信息。 模板引用变量是对模板 DOM 元素的引用,提供了从模块中直接访问元素的能力。...(refMsgInput.value)"> 通过模板引入变量的方式获取到输入的值:{{refMsg}} 4.2、指令 4.2.1、属性型指令 属性型指令被应用在视图 dom 元素上,用来改变...NgSwitch 本身是一个属性型指令,它不会直接操作 dom 元素,而是通过它所控制的两个结构指令(NgSwitchCase、ngSwitchDefault)来操作 dom 元素 4.3、管道 在使用模板表达式绑定数据时

15.7K30

【17】进大厂必须掌握的面试题-50个Angular面试

Angular指令分为三部分: 组件指令 结构指令 属性指令 12.什么是数据绑定?...Angular表达式 JavaScript表达式 1.它们可以包含文字,运算符和变量。 1.它们可以包含文字,运算符和变量2.它们可以写在HTML标记内。 2.它们不能写在HTML标记内。...DOM 物料清单 1.代表文档对象模型 1.代表浏览器对象模型 2.表示网页的内容 2.在网页上方工作,并包含浏览器属性 3.所有对象都以树状结构排列,并且只能通过提供的API来操作和访问文档 3.所有全局...JavaScript对象,变量和函数都隐式地成为window对象的成员 4.处理HTML文档 4.访问和操纵浏览器窗口 5....35.什么是Angular的包含? Angular的包含可让您将指令的原始子代转移到新模板内的特定位置。ng指令指示正在使用包含的最近父指令的已包含DOM的插入点。

41.1K51

angular面试题及答案_angular面试

指令分类 组件:用于构建UI组件,继承于Directive类 属性指令:用于改变组件的外观或行为 ngClass ngStyle 结构指令:用于动态添加或删除DOM元素来改变DOM布局 ngIf ngFor...页面渲染 AOT优势   1、渲染得更快   2、需要的异步请求更少   3、需要下载的Angular框架体积更小   4、提早检测模板错误   5、更安全 JIT优势   编译时间短,...ngOnInit : 在angular 第一次显示数据绑定和设置指令、组件的输入属性之后,初始化指令、组件 所以从angular的生命周期看,constructor是执行在先的 所以既然ngOnchanges...如何优化Angular 2应用程序来获得更好的性能? 1)考虑AOT编译。 2)确保应用程序已经经过了捆绑,uglify和tree shaking。...Dom是一棵树结构,通过对应的API来访问里面的数据。Bom包含在全局的JavaScript对象里面,是window object的子成员。 Dom用来操作html文档。Bom用来操作浏览器窗口。

10.8K120

AngularDart4.0 指南- 表单 顶

模板驱动的形式 您可以通过使用本页描述的特定于表单的指令和技术在Angular模板语法编写模板来构建表单。 您也可以使用响应式(或模型驱动)方法来构建表单。...p模板输入变量在每次迭代是不同的power; 您使用插值语法显示其名称。 与ngModel的双向数据绑定 现在运行应用程序有点令人失望。 ? 你没有看到英雄数据,因为你还没有绑定到英雄。...如果没有Angular的帮助,你需要做什么才能将按钮的启用/禁用状态连接到表单的有效性? 对你来说,这很简单: 在(增强的)表单元素上定义一个模板引用变量。 在多处的按钮引用该变量。...模板引用变量heroForm和name。 双向数据绑定([(ngModel)])。 用于验证和表单元素更改跟踪的NgControl 指令。...输入控件(通过模板引用变量访问)的valid 属性,用于检查控件有效性以及显示/隐藏错误消息。 NgForm.form的有效性来设置提交按钮的启用状态。

17.4K30

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

模板输入变量           Microsyntax     NgSwitch指令 模板引用变量(#var) 输入和输出属性(@Input和@Output) 模板表达式运算符     管道(|)    ...{{hero.name}}的英雄是指变量输入变量,而不是组件的属性。 模板表达式不能引用静态属性,也不能引用顶层变量或函数,如来自dart:html的window 或document 。...在以下示例,将模板$ event对象,模板输入变量(let hero)和模板引用变量(#heroForm)传递给组件的事件处理方法。... 模板上下文字段优先于组件上下文字段。 在上面的deleteHero(hero),hero是模板输入变量,而不是组件的hero属性。...模板以这种方式创建结构并初始化属性值。

5.1K10

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

表达式部分将hero标识为模板输入变量,其中包含每个迭代的英雄详情。 你可以在模板引用这个变量访问当前英雄的属性。...Angular指令,需要在组件的@Component注解的指令参数列出。...onSelect(hero)表达式调用AppComponent方法onSelect(),传递模板输入变量hero作为参数。 这是你在ngFor指令定义的同一个英雄变量。...在结构指令页面和模板语法页面的内置指令部分阅读有关ngIf和ngFor的更多信息。 格式化选中hero 当选择的英雄细节显示在列表下方时,很难在列表识别选定的英雄。...您了解了如何在组件模板中使用核心指令ngIf和ngFor。 您在CSS文件定义了样式,并使用它们来设置应用程序的样式。 你的应用应该看起来像这个实例(查看源代码)。

3K30

ionic3应该善用组件和指令

、Componet、Provider、Pipe都有其专业适用场景,结构指令(下面会说),就不好用Provider和Pipe来处理。...Directive——指令 三种分类: 属性指令 属性指令指的是以属性形式使用的指令ngModel、ngClass、ngStyle等。 结构指令 结构指令,用于修改DOM结构。...其实就是模版指令ngIf,当条件为true时,该元素会被添加到DOM。其主要依赖TemplateRef和ViewContainerRef来完成操作。...TemplateRef用来访问组件的模板,而ViewContainerRef可作为视图内容渲染器,将模板内容插入至DOM。 组件 这个不必说了,我们用得最多的便是组件。...为实现该指令,要借用TemplateRef和ViewContainerRef,TemplateRef用来访问组件的模板,而ViewContainerRef可作为视图内容渲染器,将模板内容插入至DOM

3.5K40

Angular快速学习笔记(2) -- 架构

模板指令会提供程序逻辑,而绑定标记会把你应用的数据和 DOM 连接在一起。...除了组件,还有两种指令结构指令和属性型指令。和组件一样,指令的元数据把指令类和一个 selector 关联起来,selector 用来把该指令插入到 HTML 。...结构指令 结构指令通过添加、移除或替换 DOM 元素来修改布局 <app-hero-detail *ngIf="selectedHero...在<em>模板</em><em>中</em>,它们看起来就像普通的 HTML 属性一样,因此得名“属性型<em>指令</em>”。...延伸阅读: <em>Angular</em>快速学习笔记(4) -- Observable与RxJS <em>Angular</em>快速学习笔记(3) -- 组件与<em>模板</em> <em>Angular</em>快速学习笔记(<em>2</em>) -- 架构 <em>Angular</em> 快速学习笔记

5.2K20

Angular核心概念:数据绑定

(达内教育学习笔记)仅供学习交流 Angular数据绑定 Angular核心概念:数据绑定(1)HTML绑定:{{NG表达式}}(2)属性绑定(3)指令绑定(4)事件绑定()(5)双向数据绑定指令...:[(ngModel)]---重点 Angular核心概念:数据绑定 (1)HTML绑定:{{NG表达式}} (2)属性绑定 (3)指令绑定 (4)事件绑定() (5)双向数据绑定指令:[(ngModel...{{uname}}">直接在属性上使用 形式2:直接使用[]推荐 注意:属性绑定通常赋值为变量,如果赋值为常量(字符串常量必须用引号括起来,<img [src]=“‘…/…/assets/...= false; age = 32; 效果图演示: 特殊的选择绑定 Angular指令分三类: 1.组件指令:NGComponent继承自Directive 2.结构指令:会影响...DOM树结构,必须使用开头,ngFor,*ngIf 3.属性型指令:不会影响DOM树结构,只是影响元素外观或行为,必须用[]括起来, :[ngClass],[ngStyle] <container-element

3.5K10

Angular2结构指令几个概念

Angular 有一个强力的模板引擎,它能让你轻松维护元素的DOM树结构Angular指令可分为三种 组件 属性型指令 结构指令 组件 组件其实就是一个带模板指令。...结构指令 结构指令通过添加和删除 DOM 元素来改变DOM的布局。 我们经常看到的内置的结构指令有:ngIf、ngSwitch、ngFor。 下面我们着重介绍ngIf。...标签 结构指令,比如ngIf,使用HTML 5的template标签 完成它们的“魔法”。 控制Template标签内DOM添加与显示,在模板级别使用的。...class UnlessDirective { /** * 我们需要访问模板,并且还需要一个渲染器来渲染它的内容。...* 我们通过TemplateRef来访问模板。渲染器是ViewContainerRef。 * 我们把它们都作为私有变量注入到构造函数

3K20

前端MVC学习总结(二)——AngularJS验证、过滤器、指令

二、过滤器 使用过滤器格式化数据,变换数据格式,在模板中使用一个插值变量。...语法格式如下: {{ express | filter:parameter1:p2:p3… | … | …}} 过滤器分了内置过滤器与自定义过滤器,过滤器的调用方式也分了在模板调用与在函数调用。...点击价格与名称可以进行排序,排序时显示向上或向下的箭头,在搜索框可以输入查询条件过滤数据。验证搜索框的内容只能是字母与数字,不允许输入其它类型的字符。...内部包含: 先定义模板,指定id与类型,模板可以是任意片段: 引用模板模板可以使用angular表达式,引用的方法与外部包含一样...上面的结果都是“TF卡”的原因是因为模板是先包含再解析的,后定义的变量覆盖前面定义的,并不是一边包含一边渲染的。

15.3K60

angular基础面试题_java web面试题

}) 在 Angular 中有三种类型的指令: 组件 — 拥有模板指令 结构指令 — 通过添加和移除 DOM 元素改变 DOM 布局的指令 属性型指令 — 改变元素、组件或其它指令的外观和行为的指令...angular 生命周期的顺序 ngOnChanges: Angular 设置或重新设置数据绑定的输入属性时响应。...在 ngOnInit() 之前以及所绑定的一个或多个输入属性的值发生变化时都会调用 ngOnInit: 在 Angular 第一次显示数据绑定和设置指令/组件的输入属性之后,初始化指令/组件。...使用Angular 2,和使用Angular 1相比,有什么优势?...灵活的路由,具备延迟加载功能 更容易学习 angular1是全局监听,变量越多性能越差,angular2采用模块化监听,提升了性能 在Angular 2应用,我们应该注意哪些安全威胁?

13K50

AngularDart4.0 高级-属性(Attribute)指令

属性指令改变DOM元素的外观或行为。 尝试一下实例(查看源代码)。 指令概述 Angular有三种指令: 组件 - 指令模板结构指令 - 通过添加和删除DOM元素来更改DOM布局。...在“结构指令”页面中了解它们。 属性指令被用作元素的属性。 例如,“模板语法”页面的内置NgStyle指令可以同时更改多个元素样式。 属性指令有两种: 基于类:一个全功能的属性指令,使用类实现。...属性的CSS选择器是方括号的属性名称。这里指令的选择器是[myHighlight]。 Angular定位模板具有名为myHighlight的属性的所有元素。... 现在在AppComponent引用此模板,并将Highlight指令添加到指令列表。 当Angular模板遇到myHighlight时,就会识别该指令。...它将元数据添加到使指令的highlightColor属性可用于绑定的类。 它被称为输入属性,因为数据从绑定表达式流入指令。 没有这个输入元数据,Angular拒绝绑定; 请参阅下面的更多关于这一点。

3.2K10
领券