簡體   English   中英

AngularJS在應用程序頁面上的導航欄中有條件地顯示登錄/注銷按鈕

[英]AngularJS show login/logout button conditionally in navbar on app page

main.jsp中

<html>
<body ng-app="myApp">

<div class="navbar">
   <a href="/order"> View Orders </a>
   <a href="/logout" ng-show="$scope.isUserLoggedIn"> Logout </label>
   <a href="/login" ng-show="!$scope.isUserLoggedIn"> Login </label>    
</div>
<div ng-view></div>
</body>
</html>


控制器

var myApp = angular.module('myApp', ['ngRoute']);
...    
            // route for the default home page
            .when('/', {
                templateUrl : function($node, tattrs) {
                      return "resources/html/home.html";
                },
                controller  : 'mainController'
            })


            // route for the order page
            .when('/order', {
                templateUrl : function($node, tattrs) {
                      return "resources/html/order.html";
                },
                controller  : 'orderController'
            })

....

myApp.controller('mainController', function($scope, $http) {
    ....
    $scope.isUserLoggedIn = true; //or false
.....


題:
$ scope.isUserLoggedIn對登錄/注銷href無效。 在主應用程序頁面(即ng-app頁面的導航欄中)可能無法訪問該范圍。

我想顯示有條件隱藏“登錄/注銷”按鈕。 有任何想法嗎?

您缺少將controller分配給div

在那里不需要使用$scope ,只需使用

<div class="navbar" ng-controller="mainController">
   <a href="/order"> View Orders </a>
   <a href="/logout" ng-show="isUserLoggedIn"> Logout </label>
   <a href="/login" ng-show="!isUserLoggedIn"> Login </label>    
</div>

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM