现在我有一个输入字段:
<input type="number" ng-model="distance"></input>
在JS中,我将距离指定为值:
$scope.distance = 0;
我想在用户输入值并单击按钮时更改此值。我使用我的控制器设置了按钮...但是每次单击该按钮时,它都会将值显示为0。
单击按钮时的功能:
//convert button function for when button is clicked
$scope.convert = function(myUnit, myUnit2, distance){
alert(distance);
}
按钮:
<button class="button button-block button-balanced" ng-click="convert(myUnit.thisunit, myUnit2.thisunit2, {{distance}})">
Convert
</button>
答案 0 :(得分:1)
更改ng - 单击此ng-click="convert(myUnit.thisunit, myUnit2.thisunit2, distance)"
,因为您在{{distance}}
指令中使用了ng-click
插值指令,该指令永远不会传递距离值
<强> HTML 强>
<button class="button button-block button-balanced" ng-click="convert(myUnit.thisunit, myUnit2.thisunit2, distance)">
Convert
</button>
希望这可以帮助你,谢谢。
答案 1 :(得分:0)
根据HTML的结构,(如果ngIf
上方有<input>
),距离模型可能不会流入您的控制器。
您可能应该将其嵌套以确保安全,例如:
$scope.formData = {distance: 0};
然后:
<input type="number" ng-model="formData.distance"></input>
此外,您的点击处理程序也应该只读取$scope
值:
$scope.clickHandler = function() {
alert(formData.distance);
}