【问题标题】:Passing data between routes with Angular使用 Angular 在路由之间传递数据
【发布时间】:2018-08-08 11:31:58
【问题描述】:

假设我当前在带有输入字段的页面“A”上。 我在输入字段中输入“123”并导航到页面“B”。 (我不需要 B 页上的值“123”)。但是当我从“B”导航回“A”页面时,我希望之前输入的值“123”仍在输入字段中。 Anuglar 中是否有内置选项来执行此操作,而无需通过 route:id 传递值,例如 'pageb/123' 并且不将其存储在本地存储中?

【问题讨论】:

    标签: angular typescript routing


    【解决方案1】:

    你可以使用服务来存储一些变量

    import { Injectable } from '@angular/core';
    
    @Injectable()
    export class MyService{
        public myVar = '';
    
        constructor(){}
    }
    

    然后在app.module.tsprovider中添加这个服务

    现在您可以在组件中使用此服务。

    import { MyService } from '...';
    
    export class AComponent implements OnInit {
    
        constructor(private myService: MyService){}
        ngOnInit(){
            this.myService.myVar = 'something';
        }
    }
    

    【讨论】:

      【解决方案2】:

      您可以将其存储在服务中。没有其他方法,因为当您离开时,您的组件实例被破坏。如果您向后导航,则会创建该组件的新实例。

      【讨论】:

        【解决方案3】:

        你可以使用 ngrx/store 你有大量这样的案例,下面是链接 https://github.com/ngrx/platform/blob/master/docs/store/README.md

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2021-09-12
          • 1970-01-01
          • 2013-09-10
          • 1970-01-01
          • 2018-09-14
          相关资源
          最近更新 更多