AngularJS基于Session更改DOM

时间:2015-02-14 22:01:55

标签: angularjs dom

我正在写一张有登录表单的SPA。该应用程序左侧有一个侧边栏,除非用户通过身份验证,否则我不希望显示该侧边栏。

我有一个处理身份验证的服务:  login / logff方法使用$ cookieStore在会话中存储标志以存储用户的身份验证状态。  isAuthenticated从$ cookieStore检索并返回true / false

所以我的登录表单确实登录但是为了查看侧边栏,我必须刷新页面。

所有这些都包含在我用于布局的shell.html容器中。在那种形式中有一行像这样的html:

<div data-ng-include="'/app/layout/sidebar.html'" ng-if="vm.authenticated == true"></div>

在shell.js中我有如下代码来检查authService并设置该值。

vm.authenticated = checkAuth();
function checkAuth() {
   return authService.isAuthenticated();

}

尽管如此,因为当我进行页面刷新时,侧边栏确实会消失。

我失去的是如何在没有页面刷新的情况下让侧边栏显示/消失。

我只是在错误的树上吠叫?有没有比我正在做的更好的方法来构建应用程序?

我已经开始考虑使用$ watch了,但我不确定这是否也是正确的方法。

非常感谢任何帮助。

这就是我的诀窍。感谢Clais的指导!

vm.authenticated = function () {
        return authService.isAuthenticated();
    }

0 个答案:

没有答案