Ng-switch на пустой строке

Я использую 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>

Любая помощь с этим будет оценена.

Ответы

Ответ 1

Вам нужно будет указать пустую строку в вашем контроллере:

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

Дополнительная информация приведена в API: http://docs.angularjs.org/api/ng.directive:ngSwitch

Кроме того, здесь приведена рабочая версия вашего кода: http://jsfiddle.net/upPgU/

Ответ 2

<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>

Ответ 3

Определенный обман Angular.js ng-switch --- тестирование, если значение пусто или 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>