Angular 角度2组件重用

Angular 角度2组件重用,angular,Angular,我对angular 2有点陌生,但我正在寻找一种方法来导航回某个组件,并在我离开时找到它 比如说,从用户列表导航到用户详细信息,然后再导航回用户列表 没有从服务器请求用户的组件。这是再次发送get请求。但将充满用户,就像我从它导航之前一样 如果我已经滚动,它将在我离开之前的准确点 提前感谢各位如果您需要在组件被销毁后重新创建组件,要准确查看它在被销毁前的状态,您需要存储此操作所需的状态。在您的情况下,这将是用户列表,以及他当时所处的位置 要在角度应用程序中存储状态,最好的选择是使用Redux架构

我对angular 2有点陌生,但我正在寻找一种方法来导航回某个组件,并在我离开时找到它

比如说,从用户列表导航到用户详细信息,然后再导航回用户列表

  • 没有从服务器请求用户的组件。这是再次发送get请求。但将充满用户,就像我从它导航之前一样
  • 如果我已经滚动,它将在我离开之前的准确点

  • 提前感谢各位

    如果您需要在组件被销毁后重新创建组件,要准确查看它在被销毁前的状态,您需要存储此操作所需的状态。在您的情况下,这将是用户列表,以及他当时所处的位置

    要在角度应用程序中存储状态,最好的选择是使用Redux架构的ngrx/store实现。您需要做的是将重新创建组件所需的所有内容存储在ngrx/存储中

    在组件的ngOnInit生命周期钩子中,您可以从存储中获取数据,并使组件看起来像以前一样。这可能看起来有点像这样

    ngOnInit(): void {
        this.list$ = this.store.select((state: ApplicationState) => state.list);
        this.position$ = this.store.select((state: ApplicationState) => state.position);
    }
    
    Ngrx/store返回存储中的可观察数据,您可以在模板中使用这些数据,如下所示:

     <div *ngFor="let element of list$ | async">
    
    
    

    有关redux reduxjs.org和github.com/ngrx/store的更多信息,该网站计划在未来推出,但目前不受支持。您可以使用此
    https://github.com/btroncone/ngrx-store-localstorage/
    若要将所有组件存储在本地存储器中,则仅当您希望组件在使用后以相同的方式重新提交时,此选项才有用应用程序已重新启动。完全正确。或存储最后从后端接收的值或其他任何内容:)您可以声明要在本地存储的
    状态