angular router

login.component.ts

import { Component, OnInit } from '@angular/core';

@Component({
    selector: 'login',
    template: `
        <h1>这是登录页面</h1>
    `
})

export class LoginComponent implements OnInit {
    constructor() { }

    ngOnInit() { }
}
register.component.ts

import { Component, OnInit } from '@angular/core';

@Component({
    selector: 'register',
    template: `
        <h1>这是注册页面</h1>
    `
})

export class RegisterComponent implements OnInit {
    constructor() { }

    ngOnInit() { }
}
app.componet.ts

import { Component } from '@angular/core';

@Component({
  selector: 'my-app',
  template: `
      <h1>Hello {{name}}</h1>
      <router-outlet></router-outlet>
  `,
})
export class AppComponent  { name = 'New Year'; }
app.router.ts

//a-module-routing
import { NgModule } from '@angular/core';
import { Routes, RouterModule } from '@angular/router';

import { LoginComponent } from './demo15/login.component';
import { RegisterComponent } from './demo15/register.component';

const routes: Routes = [
  { path: '', component: LoginComponent},
  { path: 'myLogin', component: LoginComponent },
  { path: 'myRegister', component: RegisterComponent },
];

@NgModule({
  imports: [RouterModule.forRoot(routes)], //注意forRoot和footChild的区别
  exports: [RouterModule],
})
export class AppRoutingModule { }
app.module.ts

import { AppRoutingModule} from './app.router';
import { LoginComponent} from './demo15/login.component';
import { RegisterComponent} from './demo15/register.component';
@ NgModule({
providers:[ HeartService, MyHttpService],
imports: [ BrowserModule, FormsModule, HttpModule, AppRoutingModule ],


补:

login.component.ts

import { Component, OnInit } from '@angular/core';
import {Router} from '@angular/router';

@Component({
    selector: 'login',
    template: `
        <h1>这是登录页面</h1>
        <button (click)="jumpToRegister()">没有账号,去注册</button>
        <a routerLink="/myRegister">注册</a>
    `
})

export class LoginComponent implements OnInit {
    constructor(private myRouter:Router) { }

    ngOnInit() { }

    jumpToRegister(){
        this.myRouter.navigateByUrl('myRegister');
    }
}

main.component.ts

import { Component, OnInit } from '@angular/core';
import { Location } from '@angular/common';

@Component({
    selector: 'main',
    template: `
        <h1>Main</h1>
        <button (click)="backToPre()">返回上一页</button>
    `
})

export class MainComponent implements OnInit {
    constructor(private myLocation:Location) { }

    ngOnInit() { }

    backToPre(){
        this.myLocation.back();  //还有forword函数
    }
}

补:

app.route.ts

{ path: '**', component: NotFoundComponent }

notfound.component.ts

import { Component, OnInit } from '@angular/core';
import {Router} from '@angular/router';

@Component({
    selector: 'notfound',
    template: `
        <h1>您访问的资源不存在</h1>
    `
})

export class NotFoundComponent implements OnInit {
    constructor(private myRouter:Router) { }

    ngOnInit() {
        setTimeout(()=>{
            this.myRouter.navigateByUrl('myLogin'); 
        },2000);
    }
}






评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值