如何动态检查AngularJS头模板中的$ rootScope.userDetails?

时间:2016-06-22 12:08:03

标签: javascript angularjs

我希望根据用户是否登录而拥有两个不同的标头。用户访问详细信息存储在$ rootScope.userDetails中。我注销后,该属性将从$ rootScope对象中删除。问题是我的头文件无法识别对象的变化,并在整个应用程序中不断显示原始标题。

<html ng-app="app">
<head>


</head>
<body ng-controller="mainController" >


<div class="main">
    <!-- Render views -->
        <div class="sections">
            <section ng-show="angular.isDefined(userDetails)">
                <!-- Second Header -->

我也试过{{userDetails!== undefined}}无济于事。 console.log($ rootScope.userDetails)告诉我,当我登录和注销时,对象属性被删除并适当添加。我怀疑AngularJS将页眉/页脚代码视为静态,ng-view动态添加数据。

1 个答案:

答案 0 :(得分:0)

angular.isDefined(userDetails)无法在您的视图中使用,因为angular对象不在您的范围内。您可以尝试ng-show="userDetails !== undefined"