角度:单击还是[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 (将#修改为@)

相关问答

依赖报错 idea导入项目后依赖报错,解决方案:https://blog....
错误1:代码生成器依赖和mybatis依赖冲突 启动项目时报错如下...
错误1:gradle项目控制台输出为乱码 # 解决方案:https://bl...
错误还原:在查询的过程中,传入的workType为0时,该条件不起...
报错如下,gcc版本太低 ^ server.c:5346:31: 错误:‘struct...