Angular:在ng-click

时间:2017-02-03 08:48:37

标签: angularjs string int angularjs-ng-click

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

我有这个数据

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

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

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

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

2 个答案:

答案 0 :(得分:2)

  

您的逻辑错误。你用0计算,它不能增加计数。所以你应该用最新的增量值而不是0来计算。

试试这个

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

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

中使用它
$scope.parseInt = parseInt;

您可以在此处查看演示:

&#13;
&#13;
angular.module("app",[])
function Homecontroller($scope)
{
$scope.cartList = [{ number: "1"}];
$scope.parseInt=parseInt;
}
&#13;
<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>
&#13;
&#13;
&#13;

答案 1 :(得分:0)

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

在您的控制器中:

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

在您看来:

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