Angular2基础02:模板引用变量的使用
2017-02-17 14:35
363 查看
模板引用变量
需求:
1、当用户在组件AppComponent(举例)的input 框输入时要求在页面上同步显示用户输入值。
2、将用户输入的值传递到事件中,被获取进行一系列操作。
第一种方法:DOM 事件携带
DOM 事件携带可能对组件有用的信息,所有标准 DOM 事件对象都有一个
target属性, 引用触发该事件的元素
在事件中传递$event事件对象,然后通过 $event.target.value可以获取该值。
类型化事件对象揭露了重要的一点,即反对把整个 DOM 事件传到方法中,因为这样组件会知道太多模板的信息。
所以该方法不是最好的方法。
第二种方法:模板引用变量
为什么它叫:模板引用'变量,顾名思义就是引用模板。既然是引用变量,那么他应用了谁?这些变量提供了从模块中直接访问元素的能力,在标识符前加上井号 (#) 就能声明一个模板引用变量。
优点:这个模板完全是完全自包含的。它没有绑定到组件,组件也没做任何事情。这里的自包含的意思是:它不用与Component进行交互。
何时更新绑定
你可能会思考? 既然他不用与Component进行交互,岂不是 (keyup)="doSomething" 这个绑定表达式也可以省略,答案是错误的!
原因:只有在应用做了些异步事件(如击键),Angular 才更新绑定(并最终影响到屏幕)
本例代码将
keyup事件绑定到了数字0,这是可能是最短的模板语句。 虽然这个语句不做什么,但它满足 Angular 的要求,所以 Angular 将更新屏幕。
看看 AppComponent里面什么也不写,也能完成交互效果。
模板中(template or templateUrl)this 的指向问题?
模板中this指向,他所属的component类,本例中的this 指向 Appcomponent,你可以在控制台中打印并查看
相关文章推荐
- QT基础(五)QT工程pro文件模板变量 使用
- 【Java基础】在使用@Deprecated注解时发生的对象引用变量的类型的问题
- django基础4--django模板变量的使用
- Java语言基础{Java_se(02)}-字面量和常量-变量的基本定义和使用-Java表达式-数据类型和分类-基本数据类型的转换-算数运算符-赋值运算符-比较运算符-三元运算符-逻辑运算符
- Angular模板引用变量(#var)
- 第2章 Java编程基础——FAQ2.14 变量之间传值时可分为值传递和引用传递, 那么它们有何区别?
- 使用引用成员变量
- JavaScript基础之变量的使用
- CodeSmith使用基础教程 一 — 模板
- velocity模板语言中set指令里的左值引用不能使用正式格式
- 模板继承中注意的一个问题,只能使用指针或引用的形式
- [C#基础]2.局部变量的初始化(要求体现出,不初始化直接使用的后果)
- Python基础学习篇——Global全局变量的使用
- shell中使用awk,awk 4000 引用shell变量的方法
- PHP的foreach语句使用引用变量的问题
- VC++基础 函数模板的使用
- C++值传递、引用传递、指针传递以及STL模板堆的使用
- CodeSmith使用基础教程 一 — 模板
- 在js中使用"with"语句中跨frame的变量引用问题
- CodeSmith使用基础教程 一 — 模板