这是我的观点
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。我想在输入类型为空时提示false。
答案 0 :(得分:2)
$scope.checkMynumber = function (number) {
if(number) {
alert(true)
} else {
alert(false)
}
}
答案 1 :(得分:1)
您可以使用
$ scope.checkMynumber = function(number){ if(number!= null) 警告"真" 其他 警告"假" }
答案 2 :(得分:1)
删除三元运算符并坚持使用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>
&#13;
答案 3 :(得分:1)
<强> DEMO 强>
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>
答案 4 :(得分:0)
因为我的指令字符串到数字感谢家伙现在正在工作
答案 5 :(得分:0)
我不明白为什么几乎每个答案都在.js而不是.coffee,就像问题一样..无论如何你可以改进你的代码
ng-model="mynumber" ng-change="checkMynumber(mynumber)"
我猜mynumber
是您的范围变量,那么为什么要将此传递给方法呢? (我没有完整的代码,但你在那里使用胖箭,否则我会找到理由将此作为参数传递)
您的方法checkMyNumber只能是这样的:
$scope.checkMynumber = => alert $scope.mynumber? + ""