如何重定向到登录页面会话已过期?

时间:2018-06-18 15:33:27

标签: angular typescript login

我试图在会话到期后将用户重定向到登录页面,我是新手来输入脚本。我收到以下错误:

  

(TS)属性'订阅'在类型'void'

上不存在

这是我的代码:

logoff(){
        let result = confirm('¿Desea cerrar sesión?')
        if( result){
            this.snackBar.open('Sesión cerrada correctamente.', 'Cerrar', {
                duration: 3000
            })
            this.userService.logoff().subscribe(() => {this.router.navigate(['/login']) });
        }
    }

1 个答案:

答案 0 :(得分:-1)

试试这个:

 logoff() {
        let result = confirm('¿Desea cerrar sesión?')
        if( result){
            this.snackBar.open('Sesión cerrada correctamente.', 'Cerrar', {
                duration: 3000
            })
            this.userService.logoff().subscribe(() => {this.router.navigate(['/login']) });
         }
     }
在UserService中,

注销必须返回一个可观察的

像这样:

export class UserService {

        private _logout = new Subject();
        logout$ = this._logout.asObservable();


        logoff() {
            /* Some code for logout here*/
            this._logout.next();
        }
    }