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的tab切换效果代码[代码分离]
Apr 11 Javascript
40个新鲜出炉的jQuery 插件和免费教程[上]
Jul 24 Javascript
javascript继承之为什么要继承
Nov 10 Javascript
简单实用的全选反选按钮例子
Oct 18 Javascript
Js保留小数点的4种效果实现代码分享
Apr 12 Javascript
5个书写JavaScript代码的坏习惯,看看你中枪了没?
Nov 06 Javascript
谈谈Jquery中的children find 的区别有哪些
Oct 19 Javascript
js enter键激发事件实例代码
Aug 17 Javascript
jquery与ajax获取特殊字符实例详解
Jan 08 Javascript
浅谈javascript中的 “ &amp;&amp; ” 和 “ || ”
Feb 02 Javascript
利用JS实现简单的瀑布流加载图片效果
Apr 22 Javascript
jQuery实现遍历XML节点和属性的方法示例
Apr 29 jQuery
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中使用Oracle数据库(4)
2006/10/09 PHP
Session的工作方式
2006/10/09 PHP
Bo-Blog专用的给Windows服务器的IIS Rewrite程序
2007/08/26 PHP
PHP 编写大型网站问题集
2010/05/07 PHP
ThinkPHP上使用多说评论插件的方法
2014/10/31 PHP
Yii2 rbac权限控制操作步骤实例教程
2016/04/29 PHP
php使用redis的几种常见操作方式和用法示例
2020/02/20 PHP
jQuery 研究心得 取得属性的值
2007/11/30 Javascript
jquery select下拉框操作的一些说明
2010/04/02 Javascript
javascript实现淘宝幻灯片广告展示效果
2015/04/27 Javascript
jQuery实现自动滚动到页面顶端的方法
2015/05/22 Javascript
AngularJS入门教程之迭代器过滤详解
2016/08/18 Javascript
详解vue.js的devtools安装
2017/05/26 Javascript
解决vue.js在编写过程中出现空格不规范报错的问题
2017/09/20 Javascript
JS去掉字符串中所有的逗号
2017/10/18 Javascript
vue2.0学习之axios的封装与vuex介绍
2018/05/28 Javascript
在layui框架中select下拉框监听更改事件的例子
2019/09/20 Javascript
[41:52]2018DOTA2亚洲邀请赛3月29日小组赛B组Effect VS Secret
2018/03/30 DOTA
python中lambda函数 list comprehension 和 zip函数使用指南
2014/09/28 Python
python实现的系统实用log类实例
2015/06/30 Python
python方向键控制上下左右代码
2018/01/20 Python
利用Anaconda简单安装scrapy框架的方法
2018/06/13 Python
Python实现的微信好友数据分析功能示例
2018/06/21 Python
Python实现矩阵相乘的三种方法小结
2018/07/26 Python
django使用django-apscheduler 实现定时任务的例子
2019/07/20 Python
使用 Supervisor 监控 Python3 进程方式
2019/12/05 Python
keras 读取多标签图像数据方式
2020/06/12 Python
为你的html5网页添加音效示例
2014/04/03 HTML / CSS
韩国爱茉莉太平洋化妆品美国站:Amore Pacific US
2016/10/28 全球购物
Farfetch美国:奢侈品牌时尚购物平台
2019/05/02 全球购物
EMPHASIS艾斐诗官网:周生生旗下原创精品珠宝品牌
2020/12/17 全球购物
《山谷中的谜底》教学反思
2014/04/26 职场文书
今冬明春火灾防控工作方案
2014/05/29 职场文书
球队口号
2014/06/18 职场文书
教师党员群众路线教育实践活动心得体会
2014/11/04 职场文书
MySQL系列之十三 MySQL的复制
2021/07/02 MySQL