javascript - AngularJS ngKeyUp 函数的值未定义

标签 javascript angularjs

html

<input class="input--style" type="email" name="email" ng-model="attempt.email" ng-keyup="check(attempt.email)" value="">

Angularjs

$scope.check = function(text){
                            console.log(text);
                            $http({
                                method: 'POST',
                                url: '/api/user/check/',
                                data: {'email': $scope.attempt.email},
                                headers: {'Content-Type': 'application/x-www-form-urlencoded'},                 
                            }).success(function(data, status, headers, config) {
                                console.log(data);
                                $scope.user.emailvalid = data.email;
                            });
                        }

此输入位于模态内部,当模态触发时,上方的 Angular 位于模态 Controller 内部,它按预期工作但是当我开始在输入字段中输入 console.log (文本); 输出未定义

$scope.attempt = {} 这是在我上面的 Angular 脚本之前,我只是好奇为什么这不起作用。

最佳答案

您真的想在用户每次按键时调用服务器吗?您难道不希望去抖至少~200ms吗?

尝试这样做:

<input class="input--style" type="email" name="email" 
     ng-model="attempt.email" ng-model-options="{ debounce: 200 }" 
     ng-change="check(attempt.email)" >

更新:

我忘记回答您原来的问题:您正在使用 input type="email",因此除非它是有效的电子邮件 Angular ,否则会将模型设置为 未定义。因此,Angular 实际上帮了你一个忙,因为除非模型包含有效的电子邮件地址,否则你可能不想对服务器进行调用,对吗?因此,只需更改您的“检查”函数,以便它首先检查该值是否为 undefined ,如果是,则不要调用服务器并设置 $scope.user。 emailvalid 更改为 false

关于javascript - AngularJS ngKeyUp 函数的值未定义,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26577887/

相关文章:

javascript - 我可以将 bootstrap 3 与 jQuery Mobile 一起使用吗?

javascript - 识别字体嵌入机制

c# - 如何将此 javascript 行转换为 c#?

javascript - 如何通过从关联数组中选取项目来绑定(bind)基于第一个下拉选择的第二个下拉列表?

javascript - 如何将列表从 C# Angular 传递到 Angular Controller ?

javascript - 即使使用clearInterval(timer),setInterval函数也不会停止

javascript - jQuery,使用子元素中的数字对表中的行进行排序

cordova - Angular ng-view/routing 在PhoneGap 中不起作用

javascript - 为什么 $compile 不能使用指令来处理服务?

javascript - 用户界面路由器 : default route based on user role