Angular中的缓存组件2

时间:2016-10-19 13:01:06

标签: caching angular angular2-components

有没有办法缓存组件?

例如,我在一个包含搜索结果的页面上,我希望看到结果的详细信息(它在其他页面上),我想回到(点击浏览器的后退按钮)结果页面和保留搜索结果,而不再进行搜索。

提前致谢。

我正在使用Angular 2.0.2

1 个答案:

答案 0 :(得分:1)

我使用这个简单的服务:

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


@Injectable()
export class SessionService {
    storage = {};


    constructor() { }


}

组件:

let selector = 'app-mycomponent';

export class MyComponent implements OnInit {


    session = {
        'table': {
            'page': 1,
            'rows': 10,
            'sortOrder': 'asc',
            'orderBy': null
        },
        'form': {
            'field1': null,
            'field2': null,
            }
        }
    };

    constructor(private sessionService: SessionService) { }

    ngOnInit() {
        this.sessionService.storage[selector] == null ? this.sessionService.storage[selector] = this.session : this.session = this.sessionService.storage[selector];
    }


}

使用双向绑定保存所有更改。