Angular 7.1.4-是什么导致routerLink完全重新加载下一页?

时间:2019-07-08 08:38:06

标签: angular angular-material angular7

这是一个奇怪的问题,我无法调试,并且不会在日志中产生任何错误。我使用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防护,而/settingscanActivate路由则没有(我出于测试目的将其禁用)。

现在是问题所在。该应用程序可以很好地通过用户身份验证,并且所有这些内容通常都可以在“文章”页面上找到。

在“文章”页面中,当用户单击“类别”时,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"); 在第一次点击时完全重新加载路由?

0 个答案:

没有答案