Angular可以在数值范围内使用ngSwitch吗?

Tro*_*sta 5 angularjs

我想基于数值范围使用ngSwitch.

我想基于ngSwitch更改显示三个不同的文本.但是,当我尝试在ng-switch-when中设置值范围时,我无法完成这项工作.这是可能的,还是应该使用ngIf而不是ngSwitch?

http://jsbin.com/eWIQoJE/1/edit

Bla*_*ole 13

这是不可能的.

所述ngSwitch指令检查中的值ngSwitchWhen等于到那个在ngSwitch.相反,您可以使用ngShowngIf按照您的建议:

 <div ng-if="test === 0">Is zero</div>
 <div ng-if="test > 10">Is greater than 10</div>
 <div ng-if="!(test === 0 || test > 10)">Default</div>
Run Code Online (Sandbox Code Playgroud)

JSBin


The*_*ppo 5

这是可能的,但您需要在范围中声明一个辅助函数

在你的控制器中:

$scope.switchHelper = function(value) {
  if (value === 0)
    return 0;
  if (value > 10)
    return 1;
  if (!(value === 0 || test))
    return 3;
};
Run Code Online (Sandbox Code Playgroud)

用HTML格式:

<div ng-switch="switchHelper(test)">
     <div ng-switch-when="0">Is zero</div>
     <div ng-switch-when="1">Is greater than 10</div>
     <div ng-switch-when="3">Default</div>
</div>
Run Code Online (Sandbox Code Playgroud)

作为JSBin.