Angular 7 paramMap无法正常运行,但Snapshot可以正常运行

时间:2019-07-30 11:44:07

标签: angular

我正在使用Angular路由参数,但是我的代码正在使用Snapshot,而不是ParamMap。请参阅my code

2 个答案:

答案 0 :(得分:1)

@EnableConfigurationProperties({JobProps.class })
@EnableTask
@SpringBootApplication
public class DemoApplication {

    public static void main(String[] args) {
        SpringApplication.run(DemoApplication.class, args);
    }

}

您可以看到它与 constructor( private route: ActivatedRoute, private router: Router, private myservice: UsersService ) { this.route.paramMap.pipe(flatMap(params => this.myservice.myUser(params.get("id")))).subscribe(user => this.myuser = user) }

一起正常工作

enter image description here

答案 1 :(得分:1)

您需要合并两个可观察值。我不会在订阅中使用订阅,而是使用flatMap组合那些可观察的对象。

    this.route.paramMap.pipe(
      flatMap(params => this.myservice.myUser(params.get("id")))
    ).subscribe(user =>{
      this.myuser = user;
    })

这里是stackblitz

为什么不应该在订阅中使用订阅,请找到不错的文章here