相关疑难解决方法(0)

Angular.js和ng-switch-when - 模拟枚举

我想为我的控制器逻辑引入一些enum用于某些类型的安全性,所以例如我创建了这样的东西:

var app = angular.module('myApp', []);
var StateEnum = Object.freeze({"login":1, "logout":2})
function LoginCheckCtrl($scope) {
    $scope.stateEnum = StateEnum
    $scope.loginData = StateEnum.login
    $scope.login = function() {
        console.log($scope.loginData  ? 'logged in' : 'not logged in');
        $scope.loginData = StateEnum.logout;
    };
    $scope.logout = function() {
        console.log($scope.loginData ? 'logged in' : 'not logged in');
        $scope.loginData = StateEnum.login;
    };
}
Run Code Online (Sandbox Code Playgroud)

在我的示例页面中,我会有这样的事情:

<div ng-controller="LoginCheckCtrl">
   <div ng-switch on="loginData"> 
      <div ng-switch-when="stateEnum.login" ng-include="'login'"></div>
      <div ng-switch-when="stateEnum.logout" ng-include="'logout'"></div>
   </div>
</div>

<script type="text/ng-template" id="login">
    <button ng-click="login()">Login</button>
</script>

<script type="text/ng-template" id="logout">
    <button ng-click="logout()">Logout</button>
</script>
Run Code Online (Sandbox Code Playgroud)

但 …

javascript enums angularjs

10
推荐指数
2
解决办法
2万
查看次数

标签 统计

angularjs ×1

enums ×1

javascript ×1