2017-08-04 54 views
2

我有一个带侧栏的页面,只要我登录它就可以正常工作..但是,如果我关闭标签并再次打开此错误来“无法读取未定义的”“属性'view_permission',并且侧边栏中将没有内容。如果我改变公司或再次登录它工作正常。在这里,我编写了代码重定向到登录页面,但是当发生错误时,它会重定向到登录页面,并在几秒钟内重新定向到主页面。 我在这里分享我的代码TS的请帮忙, TS码:当使用Angular2/typescript发生未定义的错误时,如何将页面重定向到登录页面

var page_permision = user.access; 
    var url = this.router.url.split('/'); 
    var goBack = page_permision.filter(function(page) { 
    if(page.viewName == url[1]) { 
     return page; 
    } 
    }) 
    if((!goBack) || (!goBack[0].view_permission)) { 
    this.router.navigate(['/routes']); 
    } 

请帮助。 谢谢

回答

0

您可以添加的undefined检查,以避免在同一行这个错误,insted的检查它的长度,如果page_permision长度是因为在循环i < page_permision.length述状态0循环将无法运行。

if(typeof page_permision != "undefined") { 
     for(let i = 0; i < page_permision.length ; i++) { 
      var name = page_permision[i].viewName; 
      this.obj[name] = page_permision[i].view_permission; 
     } 
     } else { 
     this.router.navigate(['/login']); 
     } 
+0

感谢您的回复..我会尝试..我试过了,但它以同样的方式发生..请帮助能做些什么 – Bhrungarajni

相关问题