Angular: 在 ng-click 中转换参数字符串

Angular: Convert parameter String inside ng-click

是否可以在 ng-click 中将 String 转换为 int

我有这个数据

$scope.cartList = [{ number: "1"}];

所以在我看来,我只是使用 ng-repeat(ng-repeat="cart in cartList") 调用 number。我使用 number 通过 ng-click 进行递增。

<button data-ng-click="increment = 0 + cart.number></button>
<span>{{increment}}</span>

所以我在计算过程中遇到了问题,我知道cart.numberString但是有没有办法在ng-click中将cart.number转换为int

parseInt 用于将字符串转换为 int,但不能在 angular 表达式中使用。因此,您可以创建一个函数,将字符串转换为整数值,然后进行所需的计算。

在您的控制器中:

$scope.doIncrement = function(cartNumber) { 
  $scope.increment = 0 + parseInt(cartNumber); 
}

在您看来:

<button ng-click="doIncrement(cart.number)"></button>
<span>{{increment}}</span>

Your logic is wrong . you are calculated with 0, it can't increase the count . So you should calculate with latest increment value instead of 0.

试试这个

<button data-ng-click="increment = increment + parseInt(cart.number)"></button>
<span>{{increment}}</span>

请在控制器的范围对象中分配 parseInt。然后在按钮

中使用它
$scope.parseInt = parseInt;

您可以在此处查看演示:

angular.module("app",[])
function Homecontroller($scope)
{
$scope.cartList = [{ number: "1"}];
$scope.parseInt=parseInt;
}
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.2.23/angular.min.js"></script>
<div ng-app="app" ng-controller="Homecontroller">
<button data-ng-click="increment = increment + parseInt(cartList[0].number)">increase</button>
<span>{{increment}}</span>
 </div>