在我的有角项目中,我为台式机和移动版安装了不同的延迟加载模块和组件。
当我访问我的页面时,我不希望该应用程序确定它是移动设备还是更大的(台式机)设备。根据我路由到/mobile/...
或/desktop/...
的情况。
我从以下代码开始:
if (window.innerWidth < 450) {
this.router.navigateByUrl('/mobile');
} else {
this.router.navigateByUrl('/desktop');
}
到目前为止,该方法仍然有效,但是存在一个问题。当我在/mobile/page1
之类的路线上并重新加载页面时,我回到/mobile
。
为防止这种情况,我尝试检查当前路由,并查看其路由是/mobile
还是/desktop
,然后正确路由。像这样:
const currentRoute = this.router.url;
const isOnMobile = currentRoute.split('/')[1] === 'mobile' ? true : false;
if (window.innerWidth < 450) {
if (!isOnMobile) {
this.router.navigateByUrl('/mobile');
}
} else {
if (isOnMobile) {
this.router.navigateByUrl('/desktop');
}
}
但是我似乎无法在我的app.component
中获得该url。该网址始终只是“ /”。
有什么想法吗?