吴开关不工作
Ng-switch not working
我正在使用 ng-switch 如下。这是 ng-switch 的正确用法吗?我不希望它在数组中,因为我将它与范围变量一起使用。
在我的 HTML 中,我定义如下。 userRole
是我希望我的搜索基于的变量,在 when
中,我使用了基于我的 div 标签内容应该使用的值。
<div ng-switch on ="userRole">
<div ng-switch-when="admin">
[...]
</div>
<div ng-switch-when="user">
[...]
</div>
我无法访问 ng-switch 的功能,我的整个内容部分都消失了。
在我的 .js 文件中,我定义了以下内容:
if(loginModel.authorities[0].authority=="ROLE_ADMIN"){
console.log("Me here");
$scope.userRole="admin";
}
else
if(loginModel.authorities[0].authority=="ROLE_USER"){
$scope.userRole="user";
}
else{
$scope.userRole="guest";
}
但是我的屏幕没有显示任何东西,这让我想知道我应该如何使用ng-switch。我不想使用 ng-hide / ng-show。
这是我发现的有关 ng-switch 工作原理的简洁 fiddle...。您使用 ng-switch 的方式完全有效。我猜你的 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>
控制器代码:
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;
};
}
我正在使用 ng-switch 如下。这是 ng-switch 的正确用法吗?我不希望它在数组中,因为我将它与范围变量一起使用。
在我的 HTML 中,我定义如下。 userRole
是我希望我的搜索基于的变量,在 when
中,我使用了基于我的 div 标签内容应该使用的值。
<div ng-switch on ="userRole">
<div ng-switch-when="admin">
[...]
</div>
<div ng-switch-when="user">
[...]
</div>
我无法访问 ng-switch 的功能,我的整个内容部分都消失了。
在我的 .js 文件中,我定义了以下内容:
if(loginModel.authorities[0].authority=="ROLE_ADMIN"){
console.log("Me here");
$scope.userRole="admin";
}
else
if(loginModel.authorities[0].authority=="ROLE_USER"){
$scope.userRole="user";
}
else{
$scope.userRole="guest";
}
但是我的屏幕没有显示任何东西,这让我想知道我应该如何使用ng-switch。我不想使用 ng-hide / ng-show。
这是我发现的有关 ng-switch 工作原理的简洁 fiddle...。您使用 ng-switch 的方式完全有效。我猜你的 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>
控制器代码:
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;
};
}