[英]how to detect value null in ng-change in controller
here's my view 这是我的看法
md-input-container flex=""
label Mynumber
input type="number" ng-model="mynumber" ng-change="checkMynumber(mynumber)" step="0.01" ng-pattern="/^[0-9]+(\.[0-9]{1,2})?$/" string-to-number=""
my controller 我的控制器
$scope.checkMynumber = (number) =>
if number?
alert "true"
else
alert "false"
when i input my first number it alert True that was right but when i erase my inputed number it keeps alert True. 当我输入我的第一个数字时,它会警告True,这是正确的,但是当我擦除输入的数字时,它会保持警报True。 i want to alert false when my input type is null. 当我的输入类型为null时,我想警告false。
$scope.checkMynumber = function (number) {
if(number) {
alert(true)
} else {
alert(false)
}
}
Check this fiddle https://jsfiddle.net/aswathyb950/9jfww52h/ 检查这个小提琴https://jsfiddle.net/aswathyb950/9jfww52h/
You can use 您可以使用
$scope.checkMynumber = function(number){ if (number!= null) alert "true" else alert "false" } $ scope.checkMynumber = function(number){如果(number!= null)警报“ true”,否则警报“ false”}
remove the ternary operator and stick with the if else
conditions 删除三元运算符,并遵守if else
条件
angular.module("app",[]) .controller("ctrl",function($scope){ $scope.checkMynumber = function(number) { if (number) alert("true") else alert ("false") } })
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.2.23/angular.min.js"></script> <div ng-app="app" ng-controller="ctrl"> <input type="number" ng-model="mynumber" ng-change="checkMynumber(mynumber)" step="0.01" ng-pattern="/^[0-9]+(\\.[0-9]{1,2})?$/" string-to-number=""> </div>
var myApp = angular.module('myApp',[]); myApp.controller('MyCtrl', ['$scope', function($scope) { $scope.checkMynumber = function(number) { number ? alert("true") : alert("false"); } }]);
<div ng-app="myApp" ng-controller="MyCtrl"> <input type="number" ng-model="mynumber" ng-change="checkMynumber(mynumber)" step="0.01" ng-pattern="/^[0-9]+(\\.[0-9]{1,2})?$/" string-to-number=""> </div>
因为我的指令是字符串到数字,谢谢大家,它现在可以工作了
I don't understand why almost every answer here is in .js instead .coffee, like in question.. anyway you can imporove your code 我不明白为什么这里几乎每个答案都是.js而不是.coffee,就像有问题的..无论如何,您都可以改进代码
ng-model="mynumber" ng-change="checkMynumber(mynumber)"
I guess mynumber
is your scope variable, so why you are passing this to method? ng-model="mynumber" ng-change="checkMynumber(mynumber)"
我想mynumber
是您的范围变量,那么为什么要将它传递给方法? (I don't have full code, but you are using fat arrow there, otherwise I would find reason to pass this as argument) (我没有完整的代码,但是您在那儿使用粗箭头,否则我会找到理由将此作为参数传递)
Your method checkMyNumber can be only like this: 您的方法checkMyNumber只能是这样的:
$scope.checkMynumber = => alert $scope.mynumber? + ""
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.