我是AngularJS的新手,当ng-click =" del()"我试图修剪/切片/删除变量($ scope.checkTotal)中的最后一个字符。点击。
也许我的做法是错的,但到目前为止我已经尝试过了:
$scope.checkTotal.slice($scope.checkTotal, -1);
$scope.checkTotal.substring(0, $scope.checkTotal.length - 1);
$scope.checkTotal.substring(0, length - 1);
.controller('tipController', function($scope) {
// Numpad
$scope.checkTotal = '0.00';
$scope.clicked = function (label) {
if($scope.checkTotal === '0.00') {
$scope.checkTotal = label;
} else {
$scope.checkTotal += label;
}
};
// Prevent multiple decimals
$scope.clickedDot = function() {
if (($scope.checkTotal.indexOf('.') < 0) || ($scope.checkTotal === '0.00')) {
if ($scope.checkTotal === '0.00') {
$scope.checkTotal = '0.';
} else {
$scope.checkTotal += '.';
}
}
};
$scope.del = function () {
$scope.checkTotal.substring(0, length - 1);
};
});
答案 0 :(得分:3)
您需要从函数调用中分配返回值。例如
$scope.checkTotal.substring(0, length - 1);
应该是
$scope.checkTotal = $scope.checkTotal.substring(0, $scope.checkTotal.length - 1);
此外,您应该考虑有人点击文本框中没有任何内容删除的情况。获得$scope.checkTotal.substring(0, -1);
答案 1 :(得分:1)
您的方法是正确的,但方法切片会等待变量的长度(字符串或数组)。也许你可以试试:
$scope.checkTotal = $scope.checkTotal.slice(0, $scope.checkTotal.length-1);
答案 2 :(得分:1)
您需要将结果重新分配给变量。切片也从头到尾切片。试试这个。
$scope.checkTotal = $scope.checkTotal.slice(0, -1);