if else条件控制器内的函数 - angularJS

时间:2016-03-02 14:34:50

标签: angularjs

仍然是角色

的新手

如何在控制器中的函数$ scope.change中执行if else条件

我想这样做$ scope.SomeValue == 1然后$ scope.fn1()应该执行,如果$ scope.SomeValue == 2则$ scope.fn2 else $ scope.fn3。

我尝试过传统的if else,app仍可正常工作,但只要我通过滑块或输入框更改动态值,就会获取最后一个函数中定义的默认值

HTML

<input type="radio" ng-model="SomveValue.value" name="a" value="1" ng-click="fn1()">
<input type="radio" ng-model="SomveValue.value" name="a" value="2" ng-click="fn2()">
<input type="radio" ng-model="SomveValue.value" name="a" value="3">

控制器

$scope.Somevalue = {
 value: 1
}
$scope.fn1 = {
  // Some Code
}
$scope.fn2 = {
  // Some Code
}
$scope.fn3 = {
  // Some Code
}
$scope.change = {
  $scope.fn1();
  $scope.fn2();
  $scope.fn3();
}

1 个答案:

答案 0 :(得分:2)

您可以将ngSwitch用于此用例。你可以指定一个表达式并定义,whap会发生在哪个值上。

<ANY ng-switch="Somevalue.value">
  <ANY ng-switch-when="1"><a ng-click="fn1()"></a></ANY>
  <ANY ng-switch-when="2"><a ng-click="fn2()"></a></ANY>
  <ANY ng-switch-default>...</ANY>
</ANY>