这是一个奇怪的问题,我无法调试,并且不会在日志中产生任何错误。我使用mat-tab-nav-bar
通过工具栏上的3个按钮使用routerLink=""
进行了页面设置,使用<nav mat-tab-nav-bar class="bottom-toolbar">
<a mat-tab-link routerLink="/articles" routerLinkActive="active">
Articles
</a>
<a mat-tab-link routerLink="/categories" routerLinkActive="active">
Categories
</a>
<a mat-tab-link routerLink="/settings" routerLinkActive="active">
Settings
</a>
</nav>
连接到不同的页面。
工具栏组件模板看起来像这样。
app.component.html
此工具栏组件在<router-outlet></router-outlet>
中被称为/articles
仅供参考,/categories
,/settings
和/articles
的路由都调用了单独的功能模块,并且没有一个是延迟加载的。 canActivate
路由具有/categories
防护,而/settings
和canActivate
路由则没有(我出于测试目的将其禁用)。
现在是问题所在。该应用程序可以很好地通过用户身份验证,并且所有这些内容通常都可以在“文章”页面上找到。
在“文章”页面中,当用户单击“类别”时,Angular会重新加载整个页面以加载“类别”页面。当用户单击返回时,该应用程序将返回到“文章”页面,而无需重新加载整个页面。当用户单击“类别”链接时,这一次“类别”页面路由工作正常。因此它只会在第一次尝试时中断。
“设置”页面的行为相同。
如果我为所有3条路由禁用了routerLink
保护,则所有路由均按预期工作。
那么,是什么导致 wv = (WebView) findViewById(R.id.web_view);
wv.setInitialScale(1); //webview page matches the screen size.
wv.getSettings().setLoadWithOverviewMode(true);
wv.getSettings().setUseWideViewPort(true);
wv.getSettings().setJavaScriptEnabled(true);
wv.getSettings().setCacheMode(WebSettings.LOAD_DEFAULT); //loads online website when no internet connection.
wv.loadUrl("https://prajwalwaingankar.wixsite.com/nivala");
在第一次点击时完全重新加载路由?