码迷,mamicode.com
首页 > 其他好文 > 详细

@angular/cli项目构建--路由3

时间:2017-11-25 23:35:58      阅读:120      评论:0      收藏:0      [点我收藏+]

标签:navig   routes   mod   data   定位   turn   get   states   entity   

路由定位:

modifyUser(user) {
    this.router.navigate([‘/auction/users‘, user.id]);
  }

路由定义:

{path: ‘users/:id‘, component: UserModifyComponent, resolve: {user: UserResolve}},

UserResolve:

import {Injectable} from ‘@angular/core‘;
import {ActivatedRouteSnapshot, Resolve, RouterStateSnapshot} from ‘@angular/router‘;
import {User} from ‘../entity/user‘;
import {Observable} from ‘rxjs/Observable‘;
import {UserService} from ‘./user.service‘;

@Injectable()
export class UserResolve implements Resolve<User> {

  constructor(private userService: UserService) {
  }

  resolve(route: ActivatedRouteSnapshot,
          state: RouterStateSnapshot): Observable<User> | Promise<User> | User {
    return this.userService.getUserById(route.params.id);
  }
}

获取数据:

this.activatedRoute.data.subscribe((data) => this.model = data.user);

userService:

import {Injectable} from ‘@angular/core‘;
import {HttpClient, HttpParams} from ‘@angular/common/http‘;
import {Observable} from ‘rxjs/Observable‘;

@Injectable()
export class UserService {

  constructor(private http: HttpClient) {
  }

  queryUsers(userName, fullName): Observable<any> {
    const params = new HttpParams()
      .set(‘userName‘, userName)
      .set(‘fullName‘, fullName);
    return this.http.get(‘/api/users‘, {params});
  }

  getUserById(id): Observable<any> {
    const url = ‘/api/users/‘ + id;
    return this.http.get(url);
  }

  deleteUser(id): Observable<any> {
    const url = ‘/api/users/‘ + id;
    return this.http.delete(url);
  }
}

 

@angular/cli项目构建--路由3

标签:navig   routes   mod   data   定位   turn   get   states   entity   

原文地址:http://www.cnblogs.com/Nyan-Workflow-FC/p/7896925.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!