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代码实现图片在页面中旋转效果
Jun 16 Javascript
JavaScript DOM节点操作方法总结
Aug 23 Javascript
浅谈javascript中的Function和Arguments
Aug 30 Javascript
关于JavaScript中高阶函数的魅力详解
Sep 07 Javascript
Angular ElementRef简介及其使用
Oct 01 Javascript
puppeteer实现html截图的示例代码
Jan 10 Javascript
微信小程序的开发范式BeautyWe.js入门详解
Jul 10 Javascript
JS开发 富文本编辑器TinyMCE详解
Jul 19 Javascript
微信小程序在text文本实现多种字体样式
Nov 08 Javascript
react 生命周期实例分析
May 18 Javascript
怎么理解wx.navigateTo的events参数使用详情
May 18 Javascript
基于element-ui对话框el-dialog初始化的校验问题解决
Sep 11 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中的 == 运算符进行字符串比较
2006/11/26 PHP
PHP中的array数组类型分析说明
2010/07/27 PHP
PHP对表单提交特殊字符的过滤和处理方法汇总
2014/02/18 PHP
php批量修改表结构实例
2017/05/24 PHP
PHP简单实现合并2个数字键数组值的方法
2017/05/30 PHP
Laravel5.1 框架表单验证操作实例详解
2020/01/07 PHP
Dom与浏览器兼容性说明
2010/10/25 Javascript
jQuery控制Div拖拽效果完整实例分析
2015/04/15 Javascript
AngularJS 基础ng-class-even指令用法
2016/08/01 Javascript
微信JS SDK接入的几点注意事项(必看篇)
2017/06/23 Javascript
js实现微信/QQ直接跳转到支付宝APP打开口令领红包功能
2018/01/09 Javascript
详解使用element-ui table组件的筛选功能的一个小坑
2018/11/02 Javascript
vue-router的两种模式的区别
2019/05/30 Javascript
解决vue项目中出现Invalid Host header的问题
2020/11/17 Javascript
vue 解决IOS10低版本白屏的问题
2020/11/17 Javascript
Python多进程通信Queue、Pipe、Value、Array实例
2014/11/21 Python
python 读取目录下csv文件并绘制曲线v111的方法
2018/07/06 Python
Python爬虫框架scrapy实现downloader_middleware设置proxy代理功能示例
2018/08/04 Python
关于python列表增加元素的三种操作方法
2018/08/22 Python
python 将list转成字符串,中间用符号分隔的方法
2018/10/23 Python
Python‘==‘ 及 ‘is‘相关原理解析
2020/09/05 Python
Python 操作SQLite数据库的示例
2020/10/16 Python
详解python爬取弹幕与数据分析
2020/11/14 Python
用python发送微信消息
2020/12/21 Python
完美解决torch.cuda.is_available()一直返回False的玄学方法
2021/02/06 Python
使用CSS3 制作一个material-design 风格登录界面实例
2016/12/12 HTML / CSS
HTML5不支持frameset的两种解决方法
2016/11/14 HTML / CSS
ProBikeKit美国官网:自行车套件,跑步和铁人三项套件
2016/10/13 全球购物
请问软件开发中的设计模式你会使用哪些
2015/05/13 面试题
大学生入党思想汇报
2014/01/01 职场文书
银行演讲稿范文
2014/01/03 职场文书
会计专业自荐书
2014/07/08 职场文书
新员工试用期自我评价
2015/03/10 职场文书
公司的力量观后感
2015/06/05 职场文书
2016年第32个教师节红领巾广播稿
2015/12/18 职场文书
Android 界面一键变灰 深色主题工具类
2022/04/28 Java/Android