you never define $scope.menuState . Instead, consider:
<html ng-app> <body> <script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.0.1/angular.min.js"></script> <div ng-controller='DeathrayMenuController'> <button ng-click='toggleMenu()'>Toggle Menu</button> <ul ng-show='menuState_show'> <li ng-click='stun()'>Stun</li> <li ng-click='disintegrate()'>Disintegrate</li> <li ng-click='erase()'>Erase from history</li> </ul> <div/> <script> function DeathrayMenuController($scope) { $scope.menuState_show = false; $scope.toggleMenu = function() { $scope.menuState_show = !$scope.menuState_show; }; } </script> </body> </html>
source share