Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/angular/30.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/jpa/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在Angular中使用oninput?_Angular - Fatal编程技术网

如何在Angular中使用oninput?

如何在Angular中使用oninput?,angular,Angular,我想限制输入的最大数量 data = [ { qq:[30] }, { qq:[100] } <div *ngFor="let data of data"> max{{data.qq[0]}} <input type="number" id="test" oninput="if(value > data.qq[0]) value = data.qq[0]"> </div>

我想限制输入的最大数量

data = [
   {
     qq:[30]
   },
   {
     qq:[100]
   }


<div *ngFor="let data of data">

      max{{data.qq[0]}}

      <input type="number" id="test" oninput="if(value > data.qq[0]) value = data.qq[0]">

    </div>
数据=[
{
qq:[30]
},
{
qq:[100]
}
max{{data.qq[0]}
似乎有道理。但有一个错误“数据未定义”

如何修复它


我尝试了NGM模式,但效果不是很好。 超过最大值后,用户可以继续输入

  • 对数组和迭代变量使用相同的变量
  • qq[1]未定义,因为它只有索引0的1个成员
  • 角度模式中没有
    oninput
    事件,请使用
    ngModel
  • oninput
    中的代码无论如何都不会工作
  • 阅读有关表单和验证的教程:

  • 只需使用max属性即可

      <input type="number" id="test" [max]="data.qq[0]">
    
    
    

    另一种方式是这样的

      <input type="number" id="test" #v  (change)="+v.value > data.qq[0]? v.value = data.qq[0]:0">
    

    如果有人仍然感兴趣,您可以使用(输入)


    您可以在HTML中使用keyup方法,并将$event.target.value作为输入发送到所需的方法

    <input (keyup)="filterData($event.target.value)">
    
    filterData(e){
       console.log(e);
    }
    
    
    过滤器数据(e){
    控制台日志(e);
    }
    
    angular中为什么没有一个
    oninput
    ?它是有效的JS:)我尝试了ngModel,但是效果不是很好。超过最大数量后,用户可以继续输入。(ngModelChange)=“+v.value>data.qq[0]?v.value=data.qq[0]:0”这对我来说很有效。谢谢
    <input (keyup)="filterData($event.target.value)">
    
    filterData(e){
       console.log(e);
    }