Javascript 使用AngularJS比较文本字段中的数字
控制器:Javascript 使用AngularJS比较文本字段中的数字,javascript,angularjs,Javascript,Angularjs,控制器: angular.module('myApp', []) .controller('MainCtrl', function($scope) { $scope.d = { v1: '100', v2: '20' }; }); angular.module('myApp', []) .controller('MainCtrl', function($scope) { $scope.d = { v1: '100', v2: '20' }
angular.module('myApp', [])
.controller('MainCtrl', function($scope) {
$scope.d = { v1: '100', v2: '20' };
});
angular.module('myApp', [])
.controller('MainCtrl', function($scope) {
$scope.d = { v1: '100', v2: '20' };
$scope.eval = function() {
return (parseInt($scope.d.v1, 10) < parseInt($scope.d.v2, 10));
}
});
模板:
<div ng-app="myApp">
<div ng-controller="MainCtrl">
1: <input type="text" ng-model="d.v1" />
2: <input type="text" ng-model="d.v2" />
<h4>{{d.v1}} < {{d.v2}} = {{d.v1 < d.v2}}</h4>
</div>
</div>
<div ng-app="myApp">
<div ng-controller="MainCtrl">
1: <input type="text" ng-model="d.v1" />
2: <input type="text" ng-model="d.v2" />
<h4>{{d.v1}} < {{d.v2}} = {{eval()}}</h4>
</div>
</div>
1:
2:
{{d.v1}}{{d.v2}}={{d.v1
此示例错误地显示100小于20。有什么建议可以让这个比较变成数字吗?变量的类型是“文本”,您必须将它改为“数字”才能得到正确的结果。您所需要的只是比较数字而不是字符串。 以下是工作片段:
angular.module('myApp',[])
.controller('MainCtrl',函数($scope){
$scope.d={v1:100,v2:20};
});代码>
1:
2:
{{d.v1}}{{d.v2}}={{d.v1
试试这个,我刚刚添加了一个Eval函数,其他的都没变
控制器:
angular.module('myApp', [])
.controller('MainCtrl', function($scope) {
$scope.d = { v1: '100', v2: '20' };
});
angular.module('myApp', [])
.controller('MainCtrl', function($scope) {
$scope.d = { v1: '100', v2: '20' };
$scope.eval = function() {
return (parseInt($scope.d.v1, 10) < parseInt($scope.d.v2, 10));
}
});
angular.module('myApp',[])
.controller('MainCtrl',函数($scope){
$scope.d={v1:'100',v2:'20'};
$scope.eval=函数(){
返回(parseInt($scope.d.v1,10)
模板:
<div ng-app="myApp">
<div ng-controller="MainCtrl">
1: <input type="text" ng-model="d.v1" />
2: <input type="text" ng-model="d.v2" />
<h4>{{d.v1}} < {{d.v2}} = {{d.v1 < d.v2}}</h4>
</div>
</div>
<div ng-app="myApp">
<div ng-controller="MainCtrl">
1: <input type="text" ng-model="d.v1" />
2: <input type="text" ng-model="d.v2" />
<h4>{{d.v1}} < {{d.v2}} = {{eval()}}</h4>
</div>
</div>
1:
2:
{{d.v1}}{{d.v2}}={{eval()}
因为它们是字符串
而不是数字
,所以在比较Maketype=“number”
@Jag之前需要进行转换。请尝试在输入中输入一些数字,它们将再次成为字符串类型