有没有办法缓存组件?
例如,我在一个包含搜索结果的页面上,我希望看到结果的详细信息(它在其他页面上),我想回到(点击浏览器的后退按钮)结果页面和保留搜索结果,而不再进行搜索。
提前致谢。
我正在使用Angular 2.0.2
答案 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];
}
}
使用双向绑定保存所有更改。