在我的新Angular 8应用程序中,我有一个页面(技术路线),用户在该页面中选择单选按钮选择要访问的3个页面之一,并根据其选择将其重定向到所选页面。我知道其他网络技术(php,Coldfusion)有一个简单的重定向调用,但是我该如何使用路由呢? (因为路由必须在应用程序中加载...。)
我怀疑答案就在于从我的if / else / elseif块中调用一条路由(这只是遍历用户可能的选择)
if (radio_select_1)
{redirect to page 1}
elseif (radio_select_2)
{redirect to page 2}
else (radio_select_3)
{redirect to page 3}
基于所选的单选按钮,我希望将用户重定向到应用程序中的该页面。
答案 0 :(得分:1)
您需要导入/注入Router
module。一旦有了,就可以重定向几种不同的方式。
示例:
export class MyComponent {
private _router: Router;
constructor(_router: Router) {
this._router = _router;
}
doRedirect(url): Promise<void> {
await this._router.navigateByUrl(url);
}
}
OR 直接在您的路由器模块中重定向
{
path: 'redirectroute',
redirectTo: '/some/path',
pathMatch: 'full'
},
注意,重定向的url
必须是路由。如果是外部网址,那么很遗憾,您将不得不使用window.location.href = url;
答案 1 :(得分:0)
您可以参考https://angular.io/guide/router或https://angular.io/tutorial/toh-pt5来满足您的要求。我想您已经将组件放入了内部。要简单回答这个问题,您必须导入路由器模块
import { Router } from '@angular/router';
constructor( private router:Router) {
}
if (radio_select_1)
{this.router.navigate(['page_1']);}
elseif (radio_select_2)
{this.router.navigate(['page_2'])}
else (radio_select_3)
{this.router.navigate(['page_3'])}
为此,您必须在app.module.ts或导入的路由变量中定义路由。