如何将数据绑定到ng-keyup值到它的函数

时间:2018-03-05 16:14:43

标签: angularjs

请帮帮我。如何将数据绑定到ng-keyup值到函数

 <input type="email" ng-model="c_emails" ng-keyup="Getvaliedemail($event)" required />

 $scope.Getvaliedemail = function ($event) {

        var valp = $event.key;
        if(value.length>3){ 
           //code goes here 
        }
 }

这里的var valp = $event.key;值来自b

之后

2 个答案:

答案 0 :(得分:0)

如果我理解正确,您只想将输入模型的值传递给Getvaliedemail,所以我认为这样可行(您仍然可以访问$event):

<input type="email" ng-model="c_emails" ng-keyup="Getvaliedemail($event, c_emails)" required />

$scope.Getvaliedemail = function (event, data) {
    var evt = event;
    var valp = data;
    if(valp.length>3){}
}

备注:

ngKeyup与on keyup事件有关。话虽如此,如果您只想跟踪输入值的更改,那么您应该使用ngChange,仅在输入值的更改导致将新值提交给模型时进行评估: / p>

<input type="email" ng-model="c_emails" ng-change="Getvaliedemail(c_emails)" required />

$scope.Getvaliedemail = function (data) {
    var valp = data;
    if(valp.length>3){}
}

根据您要实现的目标,您应该注意AngularJS documentation根据here在某些情况下不会评估ngChange

  
      
  • 如果$ parsers转换管道返回的值未更改
  •   
  • 如果输入继续无效,因为模型将保持为空
  •   
  • 如果以编程方式更改模型,而不是通过更改输入值
  •   

答案 1 :(得分:0)

根据您在我的评论中的回复,这将为您完成工作:

 <input type="email" ng-model="c_emails" ng-change="Getvaliedemail(c_emails)" required />


$scope.Getvaliedemail = function(value) {
  if(value.length <= 3) return;
  var valp = value;
}

无需使用ng-keyup指令。