加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > 安全 > 正文

angularjs2入门3-事件

发布时间:2020-12-17 09:35:00 所属栏目:安全 来源:网络整理
导读:还是 angularjs2入门1-文件结构分析 的源码,将app名称改成basic-step3-event 1.点击事件 import { Component } from '@angular/core'; @Component({ selector: 'click-me',template: ` button (click)="onClickMe()"点我!/button {{clickMessage}}`})export
还是 angularjs2入门1-文件结构分析 的源码,将app名称改成basic-step3-event

1.点击事件

import { Component } from '@angular/core';
 
@Component({
  selector: 'click-me',template: `
    <button (click)="onClickMe()">点我!</button>
    {{clickMessage}}`
})
export class ClickMeComponent {
  clickMessage = '';
 
  onClickMe() {
    this.clickMessage = '菜鸟教程!';
  }
}
2.keyup事件。Angular 把事件对象存入 $event 变量中。组件的 onKey() 方法是用来从事件对象中提取出用户输入的,再将输入的值累加到 values 的属性。
@Component({
  selector: 'key-up1',template: `
    <input (keyup)="onKey($event)">
    <p>{{values}}</p>
  `
})
export class KeyUpComponent_v1 {
  values = '';
 
  /*
  // 非强类型
  onKey(event:any) {
    this.values += event.target.value + ' | ';
  }
  */
  // 强类型
  onKey(event: KeyboardEvent) {
    this.values += (<HTMLInputElement>event.target).value + ' | ';
  }
}
3.从一个模板引用变量中获得用户输入 。我们在 <input> 元素上定义了一个名叫 box 的模板引用变量。 box 变量引用的就是 <input> 元素本身,这意味着我们可以获得 input 元素的 value 值,并通过插值表达式把它显示在 <p> 标签中。
@Component({
  selector: 'key-up2',template: `
    <input #box (keyup)="onKey(box.value)">
    <p>{{values}}</p>
  `
})
export class KeyUpComponent_v2 {
  values = '';
  onKey(value: string) {
    this.values += value + ' | ';
  }
}
4.按键事件过滤 ( 通过 key.enter),我们可以只在用户按下回车 (enter) 键的时候才获取输入框的值
@Component({
  selector: 'key-up3',template: `
    <input #box (keyup.enter)="values=box.value">
    <p>{{values}}</p>
  `
})
export class KeyUpComponent_v3 {
  values = '';
}
5.blur( 失去焦点 ) 事件,接下来我们可以使用blur( 失去焦点 ) 事件,它可以再元素失去焦点后更新 values 属性。
@Component({
  selector: 'key-up4',template: `
    <input #box
      (keyup.enter)="values=box.value"
      (blur)="values=box.value">
 
    <p>{{values}}</p>
  `
})
export class KeyUpComponent_v4 {
  values = '';
}

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读