angular4输入有效性_Angular 2 用户输入

Angular 2 用户输入

用户点击链接、按下按钮或者输入文字时,这些用户的交互行为都会触发 DOM 事件。

本章中,我们将学习如何使用 Angular 事件绑定语法来绑定这些事件。

以下Gif图演示了该实例的操作:

源代码可以在文章末尾下载。

绑定到用户输入事件

我们可以使用 Angular 事件绑定机制来响应任何 DOM 事件 。

以下实例将绑定了点击事件:

点我!

等号左边的 (click) 表示把该按钮的点击事件作为绑定目标 。 等号右边,引号中的文本是一个 模板语句

完整代码如下:

app/click-me.component.ts 文件:

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

@Component({selector:'click-me',template: `

点我!{{clickMessage}}`})exportclassClickMeComponent{clickMessage='';onClickMe(){this.clickMessage='菜鸟教程!';}}

通过 $event 对象取得用户输入

我们可以绑定到所有类型的事件。

让我们试试绑定到一个输入框的 keyup 事件,并且把用户输入的东西回显到屏幕上。

app/keyup.component.ts (v1) 文件:

@Component({selector:'key-up1',template: `

{{values}}

`})exportclassKeyUpComponent_v1{values='';/*// 非强类型

onKey(event:any) {

this.values += event.target.value + ' | ';

}*///强类型onKey(event:KeyboardEvent){this.values+=(event.target).value+'|';}}

以上代码中我们监听了一个事件并捕获用户输入,Angular 把事件对象存入 $event 变量中。

组件的 onKey() 方法是用来从事件对象中提取出用户输入的,再将输入的值累加到 values 的属性。

从一个模板引用变量中获得用户输入

你可以通过使用局部模板变量来显示用户数据,模板引用变量通过在标识符前加上井号 (#) 来实现。

下面的实例演示如何使用局部模板变量:

app/loop-back.component.ts 文件:

@Component({selector:'loop-back',template: `

{{box.value}}

`})exportclassLoopbackComponent{}

我们在 元素上定义了一个名叫 box 的模板引用变量。

box 变量引用的就是 元素本身,这意味着我们可以获得 input 元素的 value 值,并通过插值表达式把它显示在

标签中。

我们可以使用模板引用变量来修改以上 keyup 的实例:

app/keyup.components.ts (v2) 文件:

@Component({selector:'key-up2',template: `

{{values}}

`})exportclassKeyUpComponent_v2{values='';onKey(value:string){this.values+=value+'|';}}

按键事件过滤 ( 通过 key.enter)

我们可以只在用户按下回车 (enter) 键的时候才获取输入框的值。

(keyup) 事件处理语句会听到每一次按键,我们可以过滤按键,比如每一个 $event.keyCode,只有在按下回车键才更新 values 属性。

Angular 可以为我们过滤键盘事件,通过绑定到 Angular 的 keyup.enter 伪事件监听回车键的事件。

app/keyup.components.ts (v3):

@Component({selector:'key-up3',template: `

{{values}}

`})exportclassKeyUpComponent_v3{values='';}

blur( 失去焦点 ) 事件

接下来我们可以使用blur( 失去焦点 ) 事件,它可以再元素失去焦点后更新 values 属性。

以下实例同时监听输入回车键与输入框失去焦点的事件。

app/keyup.components.ts (v4):

@Component({selector:'key-up4',template: `

{{values}}

`})exportclassKeyUpComponent_v4{values='';}

本文所使用的源码可以通过以下方式下载,不包含 node_modules 和 typings 目录。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/433717.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

用python画国旗的程序_用Python的Turtle模块绘制五星红旗

Turtle官方文档 turtle的基本操作 # 初始化屏幕 window turtle.Screen() # 新建turtle对象实例 import turtle aTurtle turtle.Turtle() # 海龟设置 aTurtle.hideturtle() # 隐藏箭头 aTurtle.speed(10) # 设置速度 # 前进后退,左转右转 aTurtle.fd(100) # 前进10…

Java学习笔记——函数式接口

一、函数式接口概述 函数式接口:有且仅有一个抽象方法的接口。 Java中的函数式编程体现就是Lambda表达式,所以函数式接口就是可以适用于 Lambda表达式使用的接口。只有确保接口中有且仅有一个抽象方法,Java中的 Lambda表达式才能顺利地进行推…

windows快捷键

F1 显示当前程序或者windows的帮助内容。 F2 当你选中一个文件的话,这意味着“重命名” F3 当你在桌面上的时候是打开“查找:所有文件” 对话框 F10或ALT 激活当前程序的菜单栏 windows键或CTRLESC 打开开始菜单 CTRLALTDELETE 在win9x中打开关闭程序对话…

最简单的拨号方案

使用模式匹配和通道变量可以构建一个最简单的最通用的拨号方案。 如下: exten > _XXXX,1,Dial(SIP/${EXTEN}) exten > _XXXX,2,Hangup() 模式匹配规则: 模式总是用一个下划线 _开始,它告诉 Asterisk 要做模式匹配,这不是…

tortoisegit图标消失_TortoiseGit文件夹和文件图标不显示解决方法

今天下载一个demo导入之后发现一个问题,提示导入的R包只有系统默认的 没有项目的,可以看下图 这种情况出现呢不多,但是出现了我就记录下,这个先看看R文件是不是还在 点击Gen包 查看 看看R文件是不是还在,打开一看果然不…

丰田pcs可以关闭吗_丰田新款卡罗拉变化这么大 让老车主陷入沉思

【太平洋汽车网 导购频道】小胖是一名95后的汽车编辑,年纪轻轻又从事汽车编辑这一岗位,大家可能会觉得他肯定是一位充满热血、喜欢驾驶、热爱汽车的年轻人,那如果我告诉你小胖的座驾是一辆老卡罗拉(询底价|查参配),你还会觉得小胖…

Java学习笔记——Stream流

一、Stream流的生成方式 1、collection集合可以用默认方法stream生成流。 如 ArrayList<String> list new ArrayList<String>();list.stream().forEach(); 2、Map集合间接生成 3、数组通过Stream接口的静态方法of(T... values)生成流。二、Stream流的中间操作方法…

Excel VBA遍历文件

休息日&#xff0c;无聊的上Excel Home看看有啥东东可学习&#xff0c;有啥问题能帮帮忙。看到很多帖子都是求助遍历特定文件夹下文件的实现方法。有朋友说03版Excel有FileSearch对象可以遍历文件夹下文件&#xff0c;07版中没有了FileSearch对象&#xff0c;不知如何遍历文件。…

C++中的explicit关键字

在C程序中很少有人去使用explicit关键字&#xff0c;不可否认&#xff0c;在平时的实践中确实很少能用的上。再说C的功能强大&#xff0c;往往一个问题可以利用好几种C特性去解决。但稍微留心一下就会发现现有的MFC库或者C标准库中的相关类声明中explicit出现的频率是很高的。了…

pline加点lisp_用Autolisp 在AutoCAD中实现多种曲线的绘制

用Autolisp 在AutoCAD中实现多种曲线的绘制一、引言&#xff1a;AutoCAD自1982年由Autodesk公司推出以来&#xff0c;经历了20年的发展更新&#xff0c;目前&#xff0c;已深入到包括机械、建筑、服装、航天航空、地质气象等等的众多领域中。AutoCAD已成为众多工程设计人员的首…

python从小白到大牛pdf 下载 资源共享_Kotlin从小白到大牛 (关东升著) 中文pdf高清版[12MB]...

本书是一本Kotlin语言学习立体教程&#xff0c;主要内容包括&#xff1a;Kotlin语法基础、Kotlin编码规范、数据类型、字符串、运算符、程序流程控制、函数、面向对象基础、继承与多态、抽象类与接口、高阶函数、Lambda表达式、数组、集合、函数式编程API、异常处理、线程、协程…

MySQL——基本配置

一、新建配置文件 在MySQL的安装目录下D:\Mysql\mysql-8.0.28-winx64\bin中新建一个文本文件&#xff0c;文件内容如下&#xff1a; [mysql] default-character-setutf8[mysqld] character-set-serverutf8 default-storage-engineINNODB sql_modeSTRICT_TRANS_TABLES,NO_ZERO_…

iphone win7无法识别_win7系统电脑不能识别iphone苹果设备的解决方法

win7系统使用久了&#xff0c;好多网友反馈说win7系统电脑不能识别iphone苹果设备的问题&#xff0c;非常不方便。有什么办法可以永久解决win7系统电脑不能识别iphone苹果设备的问题&#xff0c;面对win7系统电脑不能识别iphone苹果设备故障问题&#xff0c;我们只需要1)你的苹…

SOCKET bind INADDR_LOOPBACK和INADDR_ANY的区别

今天写程序时候&#xff0c;服务器端启动了&#xff0c;然后客户端总是连接不上&#xff0c;connect返回错误号是10061&#xff0c;服务器积极拒绝请求。 用telnet连接一下端口&#xff0c;发现服务端服务没有开启&#xff0c;但是我程序是启动的&#xff0c;用netstat -a 命令…

在mac上用文本编辑器写python_Mac系统Python解释器、PyCharm编辑器安装及使用方法详解...

『环境配置』- 工欲善其事&#xff0c;必先利其器 视频讲解教程&#xff1a;[Mac系统Python开发环境配置教程详解&#xff08;Python技术客栈&#xff09;](https://www.bilibili.com/video/av80761677)【开发环境配置】Mac系统Python开发环境配置教程详解&#xff08;Python技…

hdu 2149 巴什博弈

http://acm.hdu.edu.cn/showproblem.php?pid2149 分析&#xff1a;就是巴什博弈的概念。 题目要求&#xff1a;对于每组数据&#xff0c;在一行里按递增的顺序输出Lele第一次可以加的价。两个数据之间用空格隔开。如果Lele在第一次无论如何出价都无法买到这块土地&#xff0c;…

MySQL——数据库和表的增删改查

1、DDL操作数据库 ①查询 SHOW DATABASES;②创建 创建数据库 CREATE DATABASE 数据库名称; 创建数据库(判断&#xff0c;如果则创建) CREATE DATABASE IF NOT EXISTS 数据库名称;③删除 删除数据库 DROP DATABASE 数据库名称; 删除数据库(判断&#xff0c;如果存在则删除) DRO…

c_str()

1.string类成员函数c_str()的原型: const char *c_str()const;//返回一个以null终止的c字符串 2.c_str()函数返回一个指向正规c字符串的指针,内容和string类的本身对象是一样的,通过string类的c_str()函数能够把string对象转换成c中的字符串的样式; c_str()函数返回一个指向正规…

45个极具冲击力的WordPress摄影网站模板

原文地址&#xff1a;http://www.goodfav.com/zh/wordpress-photography-website-templates-3577.html 互联网为摄影师和有创意的人想向世界展示自己最好的作品提供了最好的平台。你可以整合社会化媒体可以分享你的世界各地的图片。很多人都会认为&#xff0c;美丽的图画应该有…

python生成多个列表_python生成多个只含0,1元素的随机数组或列表(代码)

python生成多个只含0,1元素的随机数组或列表&#xff08;代码&#xff09; >>> import numpy as np >>> myarray np.random.randint(0,2,10)输出只含0,1元素的一维数组,长度为10 >>> myarray array([1, 1, 1, 0, 1, 0, 0, 1, 1, 0]) >>> m…