角度:单击还是[routerLink]?

问题描述

我正在制作Angular页面(我的第一个页面),以允许用户编辑大型JSON对象树。

我将树中的当前位置作为路线,例如

AngularPage/Root-Child-GrandChild

和这个东西:

  ngOnInit() {
    this.route.paramMap.subscribe(params => {
      this.path = params.get('path').split('-'); // It would be nicer to use '/' but that doesn't work with routing.
    });
组件的

似乎要 some 而不是 all (这是问题所在),以响应URL中的更改。

当当前选定的顶点发生变化时,我需要使用以下方法更新屏幕:

  • 对象树中的新顶点,
  • 要从API获取的有关该顶点的元数据。

对于新顶点,使用路由路径计算得到的可观察值效果很好。

但是,我不知道如何从API中获取数据。

一个明显的解决方法是使用(click)而不是[routerLink]调用可以调用API的方法,但是那样我会失去路由。例如:

public click(vertexName) {
  this.path.push(vertexName);
  this.apiService.getMetadata(vertexName).subscribe((data) => { this.Metadata= data; });

在VueJS中这很容易:它是一个computed引用(并因此而依赖)this.path并执行$.ajax。 但是,两天后,我现在非常确信这在Angular中是不可能的。 撒谎证明我错了。

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)