【问题标题】:Angular 5 Path paramAngular 5 路径参数
【发布时间】:2018-09-03 19:59:38
【问题描述】:

我想获取有关状态的 Path 参数并使用此参数从我的 API 获取用户。

我通过查看这个角度指南尝试了一些东西:Route parameters in the ActivatedRoute service

但这不起作用。

路由页面的链接:

<a [routerLink]="['/admin/users', user.id]" > Person </a>

这是我想要获取 id 的组件:

export class UserManagementViewComponent implements OnInit {

  user$: Observable<User>;


  constructor(private userManagementService:UserManagementService,private route:ActivatedRoute) { }

  ngOnInit() {
    this.get();
  }

  get(){

    this.route.paramMap
        .switchMap((params: ParamMap) => {
          return this.userManagementService.get(+params.get("id"))

          }
      )

  }

这是我的服务上的 get 函数:

public get(id:number):Observable<User>{
    let url = this.apiUrl+ "/admin/user/" + id;
    return this.http.get<User>(url);
  }

这是显示传入用户的模板:(UserManagementViewComponent 的模板):

<div class="card-content grey-text">
        <span class="card-title">{{(user$  | async)?.name}}'s Profile</span>
        <hr class="seperate">

    <ul>
      <li>name : {{(user$ | async)?.name}}</li>
      <li>surname : {{(user$  | async)?.surname}}</li>
      <li>username : {{(user$ | async)?.username}}</li>
      <li>email : {{(user$  | async)?.email}}</li>
    </ul>

  </div>

我得到的错误是:

ERROR in node_modules/rxjs/Subject.d.ts(3,28): error TS6143: Module './Observable' was resolved to '/home/sam/git/jwt-spring-security-and-angular/web-ui/node_modules/rxjs/Observable.js', but '--allowJs' is not set.
node_modules/rxjs/observable/IfObservable.d.ts(1,51): error TS6143: Module '../Observable' was resolved to '/home/sam/git/jwt-spring-security-and-angular/web-ui/node_modules/rxjs/Observable.js', but '--allowJs' is not set.
node_modules/rxjs/operator/do.d.ts(1,28): error TS6143: Module '../Observable' was resolved to '/home/sam/git/jwt-spring-security-and-angular/web-ui/node_modules/rxjs/Observable.js', but '--allowJs' is not set.
node_modules/rxjs/operator/map.d.ts(1,28): error TS6143: Module '../Observable' was resolved to '/home/sam/git/jwt-spring-security-and-angular/web-ui/node_modules/rxjs/Observable.js', but '--allowJs' is not set.
node_modules/rxjs/operator/switchMap.d.ts(1,45): error TS6143: Module '../Observable' was resolved to '/home/sam/git/jwt-spring-security-and-angular/web-ui/node_modules/rxjs/Observable.js', but '--allowJs' is not set.

这是什么问题,我该如何解决这个问题?

【问题讨论】:

    标签: angular url parameters path observable


    【解决方案1】:

    错误消息告诉您“Observable”正在解析为 .js 文件而不是 .ts 文件。检查您的导入。

    【讨论】:

    • import 声明是正确的(import { Observable } from 'rxjs/Observable';)但是当我点击它时它不会重定向到源。可以删除吗?如果是,我该如何修复这个库?
    • 首先,尝试删除您的 node_modules 目录,然后执行“npm install”。如果这没有帮助,请在此处发布您的 package.json 文件的内容。
    • 是的,解决了错误,谢谢,现在没有任何错误,但用户仍然没有来查看。我相信服务工作正常。
    • 是的,现在工作正常,当我出错时我更改了一些代码。我把代码作为我的帖子取回。它现在正在工作。非常感谢。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-10-05
    • 1970-01-01
    • 1970-01-01
    • 2018-08-13
    • 2018-08-11
    相关资源
    最近更新 更多