Angularjs Ng开关不工作
我使用ng开关如下。这是ng开关的正确用法吗?我不希望它位于数组中,因为我将它与范围变量一起使用 在我的HTML中,我定义如下。Angularjs Ng开关不工作,angularjs,ng-switch,Angularjs,Ng Switch,我使用ng开关如下。这是ng开关的正确用法吗?我不希望它位于数组中,因为我将它与范围变量一起使用 在我的HTML中,我定义如下。userRole是我希望搜索基于的变量,在when中,我使用了基于div标记内容的值 <div ng-switch on ="userRole"> <div ng-switch-when="admin"> [...] </div> <div ng-switch-when="user"> [.
userRole
是我希望搜索基于的变量,在when
中,我使用了基于div标记内容的值
<div ng-switch on ="userRole">
<div ng-switch-when="admin">
[...]
</div>
<div ng-switch-when="user">
[...]
</div>
但我的屏幕上什么也没显示,这让我想知道我应该如何使用ng开关。我不想使用ng hide/ng show。这是一把关于ng开关工作原理的精巧小提琴。。。。您使用ng开关的方式完全有效。我猜你的
userRole
没有使它失败的价值,你能仔细检查一下吗
<div ng-controller="LoginCheckCtrl">
<div ng-switch on="loginData">
<div ng-switch-when="false" ng-include="'login'"></div>
<div ng-switch-when="true" 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>
拨弄
在
控制台.log()中显示变量$scope.userRole
。因为ng开关
按预期工作。举个例子。
<div ng-controller="LoginCheckCtrl">
<div ng-switch on="loginData">
<div ng-switch-when="false" ng-include="'login'"></div>
<div ng-switch-when="true" 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>
var app = angular.module('myApp', []);
function LoginCheckCtrl($scope) {
$scope.loginData = false
$scope.login = function() {
console.log($scope.loginData ? 'logged in' : 'not logged in');
$scope.loginData = true;
};
$scope.logout = function() {
console.log($scope.loginData ? 'logged in' : 'not logged in');
$scope.loginData = false;
};
}