Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/439.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/angularjs/24.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何在AngularJS中切片/修剪$scope变量_Javascript_Angularjs - Fatal编程技术网

Javascript 如何在AngularJS中切片/修剪$scope变量

Javascript 如何在AngularJS中切片/修剪$scope变量,javascript,angularjs,Javascript,Angularjs,我是AngularJS新手,我正在尝试在单击ng click=“del()”时修剪/切片/删除变量($scope.checkTotal)中的最后一个字符 也许我的方法是错误的,但到目前为止我已经尝试过: $scope.checkTotal.slice($scope.checkTotal, -1); $scope.checkTotal.substring(0, $scope.checkTotal.length - 1); $scope.checkTotal.substring(0, lengt

我是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);
   };

});
$scope.checkTotal.slice($scope.checkTotal,-1);
$scope.checkTotal.substring(0,$scope.checkTotal.length-1);
$scope.checkTotal.substring(0,长度-1);
.controller('tipController',函数($scope){
//努帕德
$scope.checkTotal='0.00';
$scope.clicked=函数(标签){
如果($scope.checkTotal==“0.00”){
$scope.checkTotal=标签;
}否则{
$scope.checkTotal+=标签;
}
};
//防止多个小数
$scope.clickedDot=函数(){
if($scope.checkTotal.indexOf('.')<0)| |($scope.checkTotal==='0.00')){
如果($scope.checkTotal==“0.00”){
$scope.checkTotal='0';
}否则{
$scope.checkTotal+=';
}
}
};
$scope.del=函数(){
$scope.checkTotal.substring(0,长度-1);
};
});

您需要分配函数调用的返回值。比如说

$scope.checkTotal.substring(0, length - 1);
应该是

$scope.checkTotal = $scope.checkTotal.substring(0, $scope.checkTotal.length - 1);

你也应该考虑一下有人在文本框中单击“删除”的情况。获取

$scope.checkTotal.substring(0,-1)会很麻烦

您需要分配函数调用的返回值。比如说

$scope.checkTotal.substring(0, length - 1);
应该是

$scope.checkTotal = $scope.checkTotal.substring(0, $scope.checkTotal.length - 1);

你也应该考虑一下有人在文本框中单击“删除”的情况。获取

$scope.checkTotal.substring(0,-1)会很麻烦

您的方法是正确的,但方法片等待变量(字符串或数组)的长度。也许你可以试试:

$scope.checkTotal = $scope.checkTotal.slice(0, $scope.checkTotal.length-1);

您的方法是正确的,但方法切片等待变量(字符串或数组)的长度。也许你可以试试:

$scope.checkTotal = $scope.checkTotal.slice(0, $scope.checkTotal.length-1);

您需要将结果重新分配回变量。切片也从开始到结束进行切片。试试这个

$scope.checkTotal = $scope.checkTotal.slice(0, -1);

您需要将结果重新分配回变量。切片也从开始到结束进行切片。试试这个

$scope.checkTotal = $scope.checkTotal.slice(0, -1);


$scope.checkTotal=$scope.checkTotal.substring(0,长度-1)
只要将新值赋给变量,您尝试的任何方法都可以工作。
$scope.checkTotal=$scope.checkTotal.substring(0,长度-1)
您尝试的任何方法都可以工作,只要您将新值赋给变量。当我实现此操作时,它会删除整个字符串并给我留下“”?好的,您的变量类型是什么?变量类型的内容是什么?如所写,这将返回字符串的最后一个字符。除最后一个字符外,您需要所有字符,因此它应该是“0,长度-1”,而不是“长度-1”。(而且,解释也不清楚。)@jeremy denis,我试过你编辑的$scope.checkTotal=$scope.checkTotal.slice($scope.checkTotal.length,$scope.checkTotal.length-1);但是它仍然删除整个字符串,但是$scope.checkTotal=$scope.checkTotal.slice(0,$scope.checkTotal.length-1);确实有效。我很想知道为什么?不,键入slice的错误返回方法的begin和end-give-in参数之间的字符,因此这里的长度为-1,最后一个为空的字符是$scope.checkTotal.slice(0,$scope.checkTotal.length-1);当我实现这个时,它会删除整个字符串,并留下一个“?好的,变量类型是什么?变量类型的内容是什么?如所写,这将返回字符串的最后一个字符。除最后一个字符外,您需要所有字符,因此它应该是“0,长度-1”,而不是“长度-1”。(而且,解释也不清楚。)@jeremy denis,我试过你编辑的$scope.checkTotal=$scope.checkTotal.slice($scope.checkTotal.length,$scope.checkTotal.length-1);但是它仍然删除整个字符串,但是$scope.checkTotal=$scope.checkTotal.slice(0,$scope.checkTotal.length-1);确实有效。我很想知道为什么?不,键入slice的错误返回方法的begin和end-give-in参数之间的字符,因此这里的长度为-1,最后一个为空的字符是$scope.checkTotal.slice(0,$scope.checkTotal.length-1);您的答案有效,但$scope.checkTotal=$scope.checkTotal.slice(0,$scope.checkTotal.length-1)也有效;在下面是否有理由选择一个而不是另一个(substring vs slice)?我能想到的主要区别是,如果end>start,substr将交换start和end location参数,并返回字符串中的任何部分。Slice在该用例中返回一个空字符串。有关更详细的解释:。您的答案有效,但$scope.checkTotal=$scope.checkTotal.slice(0,$scope.checkTotal.length-1)也有效;在下面是否有理由选择一个而不是另一个(substring vs slice)?我能想到的主要区别是,如果end>start,substr将交换start和end location参数,并返回字符串中的任何部分。Slice在该用例中返回一个空字符串。有关更详细的解释:。此答案与下面的其他答案一起使用。区别在于.slice与.substring。是否有经验法则或推理来选择一种方法而不是另一种方法?有多种方法都可以做相同的事情。唯一的区别是它们有一些小怪癖,如果给出错误的参数,可能会导致意外的行为。这在另一个问题中得到了回答。这个答案与下面的其他答案一起起作用。区别在于.slice与.substring。是否有经验法则或推理来选择一种方法而不是另一种方法?有多种方法都可以做相同的事情。唯一的区别是它们有一些小怪癖,如果给出错误的参数,可能会导致意外的行为。这在另一个问题中得到了回答。