问题描述
我正在制作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 (将#修改为@)