15

我正在使用 Angular,我想使用 ng-switch 检查字符串何时为空。以下代码似乎对我不起作用。

<div ng-switch on="foo">
    <span ng-switch-when="">This string is empty</span>
    <span ng-switch-default>This string is not empty</span>
</div>

对此的任何帮助将不胜感激。

4

3 回答 3

21
<div ng-switch on="foo || 'null'">
    <span ng-switch-when="null">This string is empty</span>
    <span ng-switch-default>This string is not empty</span>
</div>
于 2014-04-01T13:54:55.267 回答
10

您需要在控制器中包含空字符串:

function Ctrl($scope) {
  $scope.items = ['', 'other'];
  $scope.selection = $scope.items[0];
}

有关其他参考,请参阅 API:http ://docs.angularjs.org/api/ng.directive:ngSwitch

此外,这是您的代码的工作版本:http: //jsfiddle.net/upPgU/

于 2012-09-15T06:31:35.827 回答
3

Angular.js ng-switch的明确欺骗--- 测试 value 是 empty 还是 undefined

接受的答案在那里也不理想。在我的拙见中,最优雅和最清晰的解决方案在那里得到的支持最少。

<div ng-switch="!!selection">
   <div ng-switch-when="false">Empty, Null or undefined</div>
   <div ng-switch-when="true">The string is not empty</div>
</div>
于 2016-06-02T16:14:16.207 回答