如何从本地存储中保存和加载带有两个angular2组件的页面

How to save and load a page with two angular2 components from local storage?

本文关键字:两个 angular2 组件 存储 加载 保存      更新时间:2023-09-26

我一直在尝试保存和加载一个页面,从本地存储与下一个代码的两个angular2组件,但从组件的css从未应用。

这是我保存的代码:

localStorage.setItem('body', JSON.stringify(document.getElementById("body").innerHTML));
这是我要加载的代码:
document.getElementById("body").innerHTML=JSON.parse(localStorage.getItem("body"));

我希望我已经很好地解释了我的问题

对不起,您不能这样做。Angular喜欢接管大量DOM,所以你不能只是替换DOM的整个主体。但是,如果不是处理整个"body",而是处理一个子集,那么您可以这样做:

<div [innerHTML]="htmlVar">
</div>

其中htmlVar是您加载的变量,例如:

this.htmlVar = JSON.parse(localStorage.getItem("htmlVar"))

小心,默认情况下innerHTML会去掉很多"不安全"的html。您可以通过调用DomSanitizer重新启用它们中的大多数。请注意,你不能在html中使用任何Angular特性,比如routerLink中的链接。