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.number
是String
但是有没有办法在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>
是否可以在 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.number
是String
但是有没有办法在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>