我正在尝试将一个组件重定向到另一个组件(如页面重定向)
这是我的代码
app-routing.module.ts
import { RoleComponent } from './role/role.component';
import { AppComponent } from './app.component';
import { NgModule } from '@angular/core';
import { RouterModule, Routes } from '@angular/router';
const routes: Routes = [
{ path: '', redirectTo: '/AppComponent', pathMatch: 'full' },
{ path: 'role', component: RoleComponent },
];
@NgModule({
imports: [ RouterModule.forRoot(routes) ],
exports: [ RouterModule ]
})
export class AppRoutingModule {}
Run Code Online (Sandbox Code Playgroud)
top-header.component.html
<ul class="navbar-nav mr-auto">
<li class="nav-item">
<a class="nav-link" href="#">Verified</a>
</li>
<li class="nav-item">
<a routerLink="/role" class="nav-link" href="#">ROLES</a>
</li>
</ul>
Run Code Online (Sandbox Code Playgroud)
应用组件.html
<div class="container p-md-0">
<app-top-header></app-top-header>
<router-outlet></router-outlet>
<app-main-contain></app-main-contain>
</div>
Run Code Online (Sandbox Code Playgroud)
Dee*_*ary 18
您可以使用router.navigateRouter 类的功能。只需从中导入路由器@angular/router并为其创建一个对象constructor(private router: Router)并使用router.navigate(['/roles']);
import { RoleComponent } from './role/role.component';
import { AppComponent } from './app.component';
import { NgModule } from '@angular/core';
import { RouterModule, Routes } from '@angular/router';
const routes: Routes = [
{ path: '', redirectTo: '/AppComponent', pathMatch: 'full' },
{ path: 'role', component: RoleComponent },
];
@NgModule({
imports: [ RouterModule.forRoot(routes) ],
exports: [ RouterModule ]
})
export class AppRoutingModule {
constructor(private router: Router)
}
functionOnWhichRedirectShouldHappen(){
router.navigate(['/role']);
}
Run Code Online (Sandbox Code Playgroud)
HTML
<ul class="navbar-nav mr-auto">
<li class="nav-item">
<a class="nav-link" href="#">Verified</a>
</li>
<li class="nav-item">
<button (click)="functionOnWhichRedirectShouldHappen()">ROLES</button>
</li>
</ul>
Run Code Online (Sandbox Code Playgroud)
你的app-routing.module.ts很好。现在,在您的组件中,您可以执行导入路由器并使用它进行重定向。
import { Component, OnInit } from '@angular/core';
import { Router } from '@angular/router';
@Component({
selector: 'app-login',
templateUrl: './login.component.html',
styleUrls: ['./login.component.scss']
})
export class LoginComponent implements OnInit {
constructor(private router: Router) { }
ngOnInit() { }
redirect() {
this.router.navigate(['role']);
}
}
Run Code Online (Sandbox Code Playgroud)
在你的 component.html 中调用该redirect()函数
<button (click)="redirect()"></button>
Run Code Online (Sandbox Code Playgroud)
PPL*_*PPL -3
尝试下面的代码
您可以使用 Angular $window
$window.location.href = '/index.html';
Run Code Online (Sandbox Code Playgroud)
控制器中的用法示例:
(function () {
'use strict';
angular
.module('app')
.controller('LoginCtrl', LoginCtrl);
LoginCtrl.$inject = ['$window', 'loginSrv', 'notify'];
function LoginCtrl($window, loginSrv, notify) {
/* jshint validthis:true */
var vm = this;
vm.validateUser = function () {
loginSrv.validateLogin(vm.username, vm.password).then(function (data) {
if (data.isValidUser) {
$window.location.href = '/index.html';
}
else
alert('Login incorrect');
});
}
}
})();
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
63150 次 |
| 最近记录: |