是否可以在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.number
是String
但是有没有办法将cart.number
转换为int
内的ng-click
?< / p>
答案 0 :(得分:2)
您的逻辑错误。你用0计算,它不能增加计数。所以你应该用最新的增量值而不是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;
}
&#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;
答案 1 :(得分:0)
parseInt用于将字符串转换为int,但不能在角度表达式中使用。因此,您可以创建一个函数,将您的字符串转换为整数值,然后执行所需的计算。
在您的控制器中:
$scope.doIncrement = function(cartNumber) {
$scope.increment = 0 + parseInt(cartNumber);
}
在您看来:
<button ng-click="doIncrement(cart.number)"></button>
<span>{{increment}}</span>