角js中的隐藏状态

时间:2015-12-03 21:08:15

标签: javascript angularjs

这是我到目前为止所做的:

example

这是基于简单的下拉登录。 我想要做的是在人登录时将登录栏更改为其他内容,但我希望当前状态保持不变。

(在这个例子中,无论登录状态如何,我都希望显示“This is home view”文本。)

我目前的代码结构:

<body  ng-app="pmfApp">
<div>
    <!---  login form and stuff.... ---->
</div>

<nav class="navbar">
<div class="container-fluid">
      <div id="status-buttons" class="text-center">
            <a ui-sref-active="active" ui-sref="home">Home</a>
            <a ui-sref-active="active" ui-sref="about"> About</a>
      </div>
</div>
</nav>

<div ui-view>
    <!--- I have home state view triggered ---->
</div>

因此,如果登录成功,我会有这样的事情:

    $auth.login(credentials).then(function(data) {
            $state.go('???????', {});
    });

1 个答案:

答案 0 :(得分:2)

听起来您想要在$scope中设置一个标记来跟踪用户是否已登录。然后您可以将此标记与ng-if一起显示并隐藏您想要的部分用户登录状态。

<div ng-if="!loggedInFlag">
    <!---  login form and stuff.... ---->
</div>

<nav class="navbar" ng-if="loggedInFlag">
<div class="container-fluid">
      <div id="status-buttons" class="text-center">
            <a ui-sref-active="active" ui-sref="home">Home</a>
            <a ui-sref-active="active" ui-sref="about"> About</a>
      </div>
</div>
</nav>

<div ui-view>
    <!--- I have home state view triggered ---->
</div>