使用Angular在路线之间传递数据

时间:2018-08-08 11:31:58

标签: angular typescript routing

假设我目前在页面'A'上有一个输入字段。 我在输入字段中输入“ 123”,然后导航到页面“ B”。 (我不需要B页上的值“ 123”)。但是,当我从“ B”导航回到页面“ A”时,我希望先前输入的值“ 123”仍在输入字段中。 在Anuglar中是否有内置选项可以执行此操作,而无需将值传递给'pageb / 123'之类的route:id且不将其存储在localstorage中?

3 个答案:

答案 0 :(得分:0)

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

import { Injectable } from '@angular/core';

@Injectable()
export class MyService{
    public myVar = '';

    constructor(){}
}

然后将该服务添加到 app.module.ts

提供商

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

import { MyService } from '...';

export class AComponent implements OnInit {

    constructor(private myService: MyService){}
    ngOnInit(){
        this.myService.myVar = 'something';
    }
}

答案 1 :(得分:0)

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

答案 2 :(得分:0)

您可以使用具有大量此类情况的ngrx / store,以下是链接 https://github.com/ngrx/platform/blob/master/docs/store/README.md