我正在尝试使用angular来根据用户输入更改输出值。我可以递增值,但是,当输入改变时,输出的值不会改变
这是我的代码:
<input type="text" ng-change="myFunc()" ng-model="myValue" />
<p>You have {{total}} points left.</p>
</div>
<script>
angular.module('myApp', [])
.controller('myCtrl', ['$scope', function($scope) {
$scope.myValue = 0;
$scope.total = 5;
$scope.myFunc = function() {
$scope.total -= $scope.myValue;
};
}]);
</script>
我希望当用户点击退格时,总数会回到初始值(在本例中为5)
任何想法?
答案 0 :(得分:0)
我觉得做起来比较简单
<input type="text" ng-model="myValue" />
<p>You have {{total - myValue}} points left.</p>
<button type="button" ng-click="myFunc()">
<script>
angular.module('myApp', [])
.controller('myCtrl', ['$scope', function($scope) {
$scope.myValue = 0;
$scope.total = 5;
$scope.myFunc = function() {
$scope.total-=$scope.myValue;
};
}]);
</script>
像这样,用户可以看到该值,但仅将其应用于显式操作
答案 1 :(得分:0)
如果要返回初始值,可以检查输入长度。
$scope.myFunc = function() {
if(!$scope.myValue.length){
$scope.total = 5;
}
$scope.total-=$scope.myValue;
}
答案 2 :(得分:0)
我认为在你的改变功能中你应该有这个。添加scope.initial作为起始值而不是total,因此当框中没有任何内容时,您可以返回它。
$scope.initial=5;
$scope.myValue=0;
$scope.total = $scope.initial;
$scope.myFunc = function(){
$scope.total = $scope.initial - myValue;
}