我有一个像这样的输入标签:
<input ng-model='number'>
以及一堆填充此输入的按钮:
<a class='btn' ng-click='pop(1)'>1</a>
这是弹出功能:
$rootScope.pop = function(number) {
$rootScope.number = $scope.number + number;
}
这些按钮和所有按钮都会正确填充模型并输入,但如果我使用键盘上的退格键删除当前输入中的内容,则单击按钮将不再填充和显示输入字段。
我尝试为按下退格键时创建一个事件监听器并使用自定义函数处理退格键,但这不起作用。关于为什么会发生这种情况有什么想法吗?
在添加数字之前添加预检查,看看它是否为 null 或未定义。当您删除输入字段时,变量 number
为 undefined
或 ""
$rootScope.pop = function(number) {
// !== Compares two expressions to determine if they are not equal in value or of the same data type
if($rootScope.number !== undefined && $rootScope.number !== null){
//Added "" just to make sure the number is treated like a string
$rootScope.number = "" + $rootScope.number + number;
} else {
$rootScope.number = "" + number;
}
}
并在代码中将 $rootScope.number
定义为 string
$rootScope.number = "";
我是一名优秀的程序员,十分优秀!