2016-10-30 1 views
0

Я пытался сохранить и загрузить страницу с двумя компонентами angular2 из локального хранилища с помощью следующего кода, но css из компонентов никогда не применялся.Как сохранить и загрузить страницу с двумя компонентами angular2 из локального хранилища?

Это мой код, чтобы сохранить:

localStorage.setItem('body', JSON.stringify(document.getElementById("body").innerHTML)); 

Это мой код для загрузки:

document.getElementById("body").innerHTML=JSON.parse(localStorage.getItem("body")); 

Я надеюсь, что объяснил свою проблему хорошо

ответ

0

К сожалению, вы не можете сделать это , Angular любит брать на себя много DOM, поэтому вы не можете просто заменить весь кусок DOM. Однако, если вместо того, чтобы делать все «тело», вы сделали подмножество, то вы можете сделать это:

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

Где htmlVar переменная вы загрузили что-то вроде:

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

упускают , по умолчанию innerHTML выдаст много «небезопасных» html. Вы можете повторно использовать большинство из них, вызвав DomSanitizer. Обратите внимание, что вы не можете использовать любые функции Angular в html, например, ссылки с routerLink.

Смежные вопросы