angular4应用中输入的最小值和最大值的方法


Posted in Javascript onMay 17, 2019

Angular4输入属性

输入属性通常用于父组件向子组件传递信息

举个栗子:我们在父组件向子组件传递股票代码,这里的子组件我们叫它app-order

首先在app.order.component.ts中声明需要由父组件传递进来的值

order.component.ts

...

@Input()

stockCode: string

@Input()

amount: string

...

order.component.html

<p>这里是子组件</p>

<p>股票代码为{{stockCode}}</p>

<p>股票总数为{{amount}}</p>

然后我们需要在父组件(app.component)中向子组件传值

app.component.ts

...

stock: string

...

app.component.html

<input type="text" placeholder="请输入股票代码" [(ngModel)]="stock">

<app-order [stockCode]="stock" [amount]="100"></app-order>

这里我们使用了Angular的双向数据绑定,将用户输入的值和控制器中的stock进行绑定。然后传递给子组件,子组件接收后在页面显示。

Angular4输出属性

当子组件需要向父组件传递信息时需要用到输出属性。

举个栗子:当我们从股票交易所获得股票的实时价格时,希望外部也可以得到这个信息。为了方便,这里的实时股票价格我们通过一个随机数来模拟。这里的子组件我们叫它app.price.quote

使用EventEmitter从子组件向外发射事件

price.quote.ts

export class PriceQuoteComponent implements OnInit{

 stockCode: string = 'IBM';

 price: number;

 //使用EventEmitter发射事件

 //泛型是指往外发射的事件是什么类型

 //priceChange为事件名称

 @Output()

 priceChange:EventEmitter<PriceQuote> = new EventEmitter();

 constructor(){

 setInterval(() => {

  let priceQuote = new PriceQuote(this.stockCode, 100*Math.random());

  this.price = priceQuote.lastPrice;

  //发射事件

  this.priceChange.emit(priceQuote);

 })

 }

 ngInit(){

 }

}

//股票信息类

//stockCode为股票代码,lastPrice为股票价格

export class PriceQuote{

 constructor(public stockCode:string,

  public lastPrice:number

 )

}

price.quote.html

<p>

 这里是报价组件

</p>

<p>

 股票代码是{{stockCode}}

</p>

<p>

 股票价格是{{price | number:'2.2-2'}}

</p>

接着我们在父组件中接收事件

app.component.html

<app-price-quote (priceChange)="priceQuoteHandler($event)"></app-price-quote>

<p>

 这是在报价组件外, 股票代码是{{priceQuote.stokcCode}},

 股票价格是{{priceQuote.lastPrice | number:'2.2-2'}}

</p>

事件绑定和原生的事件绑定是一样的,都是将事件名称放在()中。

app.component.ts

export class AppComponent{

 priceQuote:PriceQuote = new PriceQuote('', 0);

 priceQuoteHandler(event:PriceQuote){

 this.priceQuote = event;

 }

}

这里的event类型就是子组件传递事件的类型。

angular4应用中输入的最小值和最大值的方法

我有一个带有表单的angular4应用程序.在这个我输入一个百分比输入.所以,我想用0到100之间的值来阻止输入.

我试图添加min =“0”和max =“100”,但我仍然可以输入一个高于100或小于0的数字.

模板

<md-input-container>
 <input type="number" 
  maxlength="3" 
  min="0" 
  max="100" 
  required 
  mdInput 
  placeholder="Charge" 
  [(ngModel)]="rateInput" 
  name="rateInput">
 <md-error>Required field</md-error>
</md-input-container>

你知道我怎么做吗?

解决方法

我成功地使用了表单控件.

这是我的HTML代码:

<md-input-container>
    <input type="number" min="0" max="100" required mdInput placeholder="Charge" [(ngModel)]="rateInput" name="rateInput" [formControl]="rateControl">
    <md-error>Please enter a value between 0 and 100</md-error>
  </md-input-container>

在我的打字稿代码中,我有:

this.rateControl = new FormControl("",[Validators.max(100),Validators.min(0)])

因此,如果我们输入的值大于100或小于0,则材料设计输入变为红色且该字段未验证.所以之后,如果值不好,我点击保存按钮时就不保存.

总结

以上是三水点靠木为你收集整理的angular4应用中输入的最小值和最大值全部内容,希望文章能够帮你解决angular4应用中输入的最小值和最大值所遇到的程序开发问题。

Javascript 相关文章推荐
JS event使用方法详解
Apr 28 Javascript
js的for in循环和java里foreach循环的区别分析
Jan 28 Javascript
XMLHttpRequest Level 2 使用指南
Aug 26 Javascript
如何提高数据访问速度
Dec 26 Javascript
以BootStrap Tab为例写一个前端组件
Jul 25 Javascript
实例讲解javascript实现异步图片上传方法
Dec 05 Javascript
基于vue-video-player自定义播放器的方法
Mar 21 Javascript
React全家桶环境搭建过程详解
May 18 Javascript
微信小程序收藏功能的实现代码
Jun 12 Javascript
详解Nuxt.js部署及踩过的坑
Aug 07 Javascript
原生js实现贪食蛇小游戏的思路详解
Nov 26 Javascript
vue+openlayers绘制省市边界线
Dec 24 Vue.js
jQuery实现的点击显示隐藏下拉菜单功能完整示例
May 17 #jQuery
详解 微信小程序开发框架(MINA)
May 17 #Javascript
Vue模板语法中数据绑定的实例代码
May 17 #Javascript
jQuery控制input只能输入数字和两位小数的方法
May 16 #jQuery
微信小程序云开发详细教程
May 16 #Javascript
atom-design(Vue.js移动端组件库)手势组件使用教程
May 16 #Javascript
小程序scroll-view安卓机隐藏横向滚动条的实现详解
May 16 #Javascript
You might like
WINXP下apache+php4+mysql
2006/11/25 PHP
PHP下判断网址是否有效的代码
2011/10/08 PHP
免费的ip数据库淘宝IP地址库简介和PHP调用实例
2014/04/08 PHP
yii2.0实现验证用户名与邮箱功能
2015/12/22 PHP
详解PHP的Yii框架中自带的前端资源包的使用
2016/03/31 PHP
jquery 指南/入门基础
2007/11/30 Javascript
让你的博文自动带上缩址的实现代码,方便发到微博客上
2010/12/28 Javascript
JavaScript匿名函数用法分析
2015/02/13 Javascript
Google Maps基础及实例解析
2016/08/06 Javascript
原生JS实现-星级评分系统的简单实例
2016/08/21 Javascript
详解AngularJS如何实现跨域请求
2016/08/22 Javascript
一个非常好用的文字滚动的案例,鼠标悬浮可暂停[两种方案任选]
2016/12/01 Javascript
Javascript 使用ajax与C#获取文件大小实例详解
2017/01/13 Javascript
Vue.js实现文章评论和回复评论功能
2020/05/30 Javascript
AngularJs点击状态值改变背景色的实例
2017/12/18 Javascript
vue 动态改变静态图片以及请求网络图片的实现方法
2018/02/07 Javascript
vuejs 制作背景淡入淡出切换动画的实例
2018/09/01 Javascript
JavaScript数据结构之栈实例用法
2019/01/18 Javascript
如何实现js拖拽效果及原理解析
2020/05/08 Javascript
Nuxt pages下不同的页面对应layout下的页面布局操作
2020/11/05 Javascript
[02:37]2018DOTA2亚洲邀请赛赛前采访-EG篇
2018/04/03 DOTA
Python计算两个日期相差天数的方法示例
2017/05/23 Python
python3调用百度翻译API实现实时翻译
2018/08/16 Python
使用Python批量修改文件名的代码实例
2019/01/24 Python
pytorch 中的重要模块化接口nn.Module的使用
2020/04/02 Python
python中if及if-else如何使用
2020/06/02 Python
最便宜促销价格订机票:Airpaz(总部设在印尼,支持中文)
2018/11/13 全球购物
光声世纪笔试题目
2012/08/25 面试题
党员的自我评价范文
2014/01/02 职场文书
公证书标准格式
2014/04/10 职场文书
基层党员群众路线整改措施及努力方向
2014/10/28 职场文书
2014群众路线学习笔记
2014/11/06 职场文书
模范教师材料大全
2014/12/16 职场文书
解决Pytorch半精度浮点型网络训练的问题
2021/05/24 Python
关于python中readlines函数的参数hint的相关知识总结
2021/06/24 Python
Centos7中MySQL数据库使用mysqldump进行每日自动备份的编写
2021/08/02 MySQL