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 相关文章推荐
在视频前插入广告
Nov 20 Javascript
Ajax::prototype 源码解读
Jan 22 Javascript
How to Auto Include a Javascript File
Feb 02 Javascript
jquery选择checked在ie8普通模式下的问题
Feb 12 Javascript
jquery实现图片放大镜功能
Nov 23 Javascript
jQuery实现进度条效果代码
Dec 17 Javascript
jQuery实现横向带缓冲的水平运动效果(附demo源码下载)
Jan 29 Javascript
用vue写一个仿简书的轮播图的示例代码
Mar 13 Javascript
vue实现固定位置显示功能
May 30 Javascript
小程序两种滚动公告栏的实现方法
Sep 17 Javascript
在Layui中实现开关按钮的效果实例
Sep 29 Javascript
JS在Array数组中按指定位置删除或添加元素对象方法示例
Nov 19 Javascript
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
用php写的serv-u的web申请账号的程序
2006/10/09 PHP
如何用php生成扭曲及旋转的验证码图片
2013/06/07 PHP
实现WordPress主题侧边栏切换功能的PHP脚本详解
2015/12/14 PHP
Zend Framework教程之Zend_Helpers动作助手ViewRenderer用法详解
2016/07/20 PHP
jQuery实现的在线答题功能
2015/04/12 Javascript
JavaScript在Android的WebView中parseInt函数转换不正确问题解决方法
2015/04/25 Javascript
图解JavaScript中的this关键字
2020/05/28 Javascript
js放大镜放大购物图片效果
2017/01/18 Javascript
详解JavaScript 中getElementsByName在IE中的注意事项
2017/02/21 Javascript
bootstrap select插件封装成Vue2.0组件
2017/04/17 Javascript
Angular.js中数组操作的方法教程
2017/07/31 Javascript
详解如何优雅地在React项目中使用Redux
2017/12/28 Javascript
vue导出html、word和pdf的实现代码
2018/07/31 Javascript
vscode下的vue文件格式化问题
2018/11/28 Javascript
微信小程序自定义组件传值 页面和组件相互传数据操作示例
2019/05/05 Javascript
JS中数据结构与算法---排序算法(Sort Algorithm)实例详解
2019/06/17 Javascript
Nest.js散列与加密实例详解
2021/02/24 Javascript
[28:07]完美世界DOTA2联赛PWL S3 Phoenix vs INK ICE 第二场 12.13
2020/12/17 DOTA
python中的字典详细介绍
2014/09/18 Python
详细解读Python中的__init__()方法
2015/05/02 Python
不要用强制方法杀掉python线程
2017/02/26 Python
python中从str中提取元素到list以及将list转换为str的方法
2018/06/26 Python
python消除序列的重复值并保持顺序不变的实例
2018/11/08 Python
详解Python中pandas的安装操作说明(傻瓜版)
2019/04/08 Python
Python实现中值滤波去噪方式
2019/12/18 Python
Django admin 实现search_fields精确查询实例
2020/03/30 Python
基于plt.title无法显示中文的快速解决
2020/05/16 Python
Python如何生成xml文件
2020/06/04 Python
Python unittest生成测试报告过程解析
2020/09/08 Python
Pycharm新手使用教程(图文详解)
2020/09/17 Python
浅谈css3中的前缀
2016/07/20 HTML / CSS
售后主管岗位职责
2013/12/08 职场文书
课改先进个人汇报材料
2014/01/26 职场文书
总经理岗位职责范本
2014/02/02 职场文书
2014年大学生工作总结
2014/11/20 职场文书
小数乘法教学反思
2016/02/22 职场文书