ng-switch on empty string

I'm using Angular and I want to check when a string is empty using ng-switch. The following code doesn't seem to be working for me.

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

Any help with this would be appreciated.

Answers:

Answer

You will need to include the empty string in your controller:

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

For additional reference, see the API: http://docs.angularjs.org/api/ng.directive:ngSwitch

Also, here's a working version of your code: http://jsfiddle.net/upPgU/

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

Definite dupe of Angular.js ng-switch ---testing if value is empty or undefined.

The accepted answer isn't ideal there either. In my oh so humble opinion the most elegant and clear solution has the least upvotes over there.

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

Tags

Recent Questions

Top Questions

Home Tags Terms of Service Privacy Policy DMCA Contact Us

©2020 All rights reserved.