[英]how to detect value null in ng-change in controller
這是我的看法
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=""
我的控制器
$scope.checkMynumber = (number) =>
if number?
alert "true"
else
alert "false"
當我輸入我的第一個數字時,它會警告True,這是正確的,但是當我擦除輸入的數字時,它會保持警報True。 當我的輸入類型為null時,我想警告false。
$scope.checkMynumber = function (number) {
if(number) {
alert(true)
} else {
alert(false)
}
}
您可以使用
$ scope.checkMynumber = function(number){如果(number!= null)警報“ true”,否則警報“ false”}
刪除三元運算符,並遵守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>
因為我的指令是字符串到數字,謝謝大家,它現在可以工作了
我不明白為什么這里幾乎每個答案都是.js而不是.coffee,就像有問題的..無論如何,您都可以改進代碼
ng-model="mynumber" ng-change="checkMynumber(mynumber)"
我想mynumber
是您的范圍變量,那么為什么要將它傳遞給方法? (我沒有完整的代碼,但是您在那兒使用粗箭頭,否則我會找到理由將此作為參數傳遞)
您的方法checkMyNumber只能是這樣的:
$scope.checkMynumber = => alert $scope.mynumber? + ""
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.