如果输入文本等于“string”,那么将$ scope.number与0.2 - AngularJS相乘?

时间:2013-10-14 13:59:38

标签: angularjs

我刚才读到AngularJS,我能够完成一些事情。总新手在这里。但是这一个,我只是无法超越它。我阅读了stackoverflow并了解AngularJS中没有if语句。

我读过关于ng-switch,ng-change,ng-if和尝试过的所有内容,但仍然无效。我只想要一个输入文本,当输入“test”时,变量会改变它的值。

<div ng-app="App">
  <div ng-controller="Controller">
    <input type="text" ng-model="test" ng-change="change()"  /> 
    counter = {{number}}
  </div>
</div>

function Controller($scope) {
  $scope.number = 1000;
  $scope.change = function() {
    $scope.number = $scope.number * 0.2; 
  };
}

这一定是一个愚蠢的问题,但这里有一个小提琴: http://jsfiddle.net/e68mx/1/

2 个答案:

答案 0 :(得分:0)

您只需要使用if语句对其进行测试。

$scope.change = function() {
   if($scope.test === 'test') {
      $scope.number *= 0.2;
   }
};

答案 1 :(得分:-1)

首选$watch超过ng-change原因是ng-change在很多情况下实际更新模型之前运行(所有?我不确定)。请参阅更新的小提琴:http://jsfiddle.net/fCymg/