Aurelia - 用户退出后更新菜单栏

时间:2017-11-07 13:00:33

标签: aurelia

我有一个navmenu需要在用户注销后重新加载。

我有一个logout.ts,它基本上清除了JWT和loggedIn值。

    import { autoinject } from "aurelia-framework";
    import { TokenService } from "../../auth/tokenService"; z
    import { Router } from 'aurelia-router';

    @autoinject
    export class Logout {

        constructor(private tokenService: TokenService, public router: Router) {
            tokenService.clearJWT();

            this.router.refreshNavigation()
        }
    }

这一切都很好,但我想重定向到主页,但同时更新菜单,这次重新检查登录状态。

我尝试重定向,我尝试过:

   this.router.navigateToRoute('home')

和上面的那个。在所有情况下,navmenu都不会更新。通过更新navmenu,它将检查localstorage中的登录值并更改菜单的结构。

我还希望它在删除这些项目后进入主页但更重要的是如何让它刷新navmenu?

1 个答案:

答案 0 :(得分:1)

听起来您需要确保您的home路由已刷新,即使它已经是当前路由。如果是,请在configureRouter方法中添加activationStrategy.replace

import {activationStrategy} from 'aurelia-router';

export class MyClass {
    configureRouter(config) {
        config.map([{
            route: 'home',
            name: 'home',
            activationStrategy: activationStrategy.replace,
            title: 'My Title',
            moduleId: 'myModule',
        }]);
    }
}
相关问题