码迷,mamicode.com
首页 > 其他好文 > 详细

Angular2.0: User Input

时间:2016-12-17 07:38:22      阅读:260      评论:0      收藏:0      [点我收藏+]

标签:处理   细节   style   信息   用户   english   ack   lis   input   

1.Angular 2.0 中的变量

对输入值的获取,我们可以通过$event 来获取,也可以通过变量来获取。

template: `
  <input (keyup)="onKey($event)">
  <p>{{values}}</p>`

即,当user 按下并释放 一个按钮是,就会触发keyup 事件,Angular在$event 变量提供一个相应的DOM事件对象,

export class KeyUpComponent_v1 {
  values = ‘‘;

  onKey(event:any) { // without type info
    this.values += event.target.value + ‘ | ‘;
  }
}

$event 对象的属性取决于DOM 事件的类型。而所有的标准DOM事件对象都有一个target 属性,
上例将$event转换为any类型。 这样简化了代码,但是有成本。 没有任何类型信息能够揭示事件对象的属性,防止简单的错误

传入 $event 是靠不住的做法

类型化事件对象揭露了重要的一点,即反对把整个 DOM 事件传到方法中,因为这样组件会知道太多模板的信息。

只有当它知道更多它本不应了解的 HTML 实现细节时,它才能提取信息。 这就违反了模板(用户看到的)和组件(应用如何处理用户数据)之间的分离关注原则

@Component({
  selector: ‘loop-back‘,
  template: `
    <input #box (keyup)="0">
    <p>{{box.value}}</p>
  `
})
export class LoopbackComponent { }

如上图的box 就是一个变量

Angular2.0: User Input

标签:处理   细节   style   信息   用户   english   ack   lis   input   

原文地址:http://www.cnblogs.com/taoyoung/p/6147944.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!