我试图将我的页面从登录重定向到另一个页面。我遵循此代码。
我的登录组件 ts 文件:
import { Router } from '@angular/router';
constructor(private router: Router) {
}
funLogin(mobilenumber){
this.router.navigateByUrl('registration');
}
在我的 html 中,我在提交 btn 中调用此函数,
<button class="common-btn btn" (click)="funLogin(mobileNo.value)">Submit</button>
In my app.login.routing file,
export const loginRouting: Routes = [
{
path: '', component: DashboardRootComponent, canActivateChild: [],
children: [
{ path: '', component: DashboardComponent, pathMatch: 'full' },
{ path: 'home', component: HomeComponent },
{ path: 'registration', component: RegistrationComponent },
]
}
]
我尝试过使用“this.router.navigate”和引用的链接。但它没有用。谁能告诉我我哪里出错了,或者如果你能给我一个工作样本会更好。
原文由 sasi 发布,翻译遵循 CC BY-SA 4.0 许可协议
@sasi .. 试试这样,
更新 :
为了在您的应用程序中使用路由,您必须注册允许角度路由器呈现视图的组件。
我们需要在
App Module
或任何Feature Module
中注册我们的组件(您当前的工作模块),以便路由到特定的组件视图。我们可以通过两种方式注册组件
.forRoot(appRoutes)
for app level component registration likefeatuteModules
(ex. UserManagement) andcomponents
which you want register atroot level
..forChild(featureRoutes)
用于功能模块child components
(例如 UserDelete、UserUpdate)。您可以注册如下内容,
您可以通过两种方式在 Angular 中导航到另一个页面。 (两者在包装器级别都是相同的,但我们这边的实现有点不同。)
routerLink
指令为您提供绝对路径匹配,如navigateByUrl()
Router
。如果您使用
dynamic values
生成链接,您可以传递一个array
路径段,然后为每个段传递params
。例如
routerLink=['/team', teamId, 'user', userName, {details: true}]
意味着我们要生成指向/team/11/user/bob;details=true
的链接。当我们使用
routerLink
时,需要记住一些有用的点。/
开头,路由器将从应用程序的根目录查找路由。./
开头,或者不以斜杠开头,则路由器将改为查找当前激活路由的子节点。../
开头,路由器将上升一级。更多信息请看这里..
routerLink
我们需要将
Router
类注入到组件中,以便使用它的方法。导航的方法不止两种,例如
navigate()
、navigateByUrl()
,但我们主要使用这两种。navigate()
:navigate()
命令将附加最新的字符串附加到现有的 URL。我们也可以从这个方法解析queryParams
,如下所示,您可以在导航组件中使用
ActivatedRoute
获取这些值。你可以在这里查看更多关于paramMap
,snapshot(no-observable alternative)
的信息。navigateByUrl()
navigateByUrl()
类似于直接更改地址栏——我们提供了 全新 的 URL。