Динамически загружать шаблон HTML в angular8 работает, но привязка свойства к интерполированной строке не работает - PullRequest
0 голосов
/ 23 сентября 2019

Я передаю несколько HTML-шаблонов с сервера на угловой через API.Я могу отображать содержимое html через innerhtml в угловых динамически по их соответствующему имени (dcName).Но я НЕ могу связать свойство с интерполированной строкой в ​​строке html, которая передается во внутренний html.

Ниже мой угловой компонент. Html

<div [innerHtml]="dcData">
</div>

ниже мой компонентts file

 ngOnInit() {
    this.httpservice.getData("/api/getDc?dcName=" + this.dcName)
      .subscribe((html: string) => {
        this.dcData = html;
      });
      this.title = "Hello";
  }

Это html контент, который я получаю через api

<html>
<body>    
    <p>
      {{title}} Good morning!!
    </p>
</body>
</html>

Я ожидаю, что заголовок будет заменен на hello

1 Ответ

0 голосов
/ 23 сентября 2019

Я предполагаю, что предоставление этой встроенной функции будет стимулировать использование шаблонов, которые могут привести к уязвимости безопасности на нескольких сайтах.Вместо этого вы можете:

 ngOnInit() {
    this.httpservice.getData("/api/getDc?dcName=" + this.dcName)
      .subscribe((html: string) => {
        this.dcData = html;
      });
      this.title = "Hello";
  }

  getContent() {
    return this.dcData.replace("{{title}}", this.title);
  }

А в вашем компоненте:

<div [innerHtml]="getContent()">
</div>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...