@slip31

Как передать значение в шаблон?

Передаю в дочерний компонент значение path (svg)
<svg width="100%" height="521.2854" version="1.1" viewBox="0 0 300 300">
                <svg:g app-quiz-svg [svgshow]="quiz?.textCategory[numPage].textContentSvg" />
   </svg>

Если выводить quiz?.textCategory[numPage].textContentSvg то выводится нормальный путь - здесь всё хорошо.
Принимаю его в дочернем компоненте и преобразую в DOM
export class SvgComponent {

@Input() svgshow : string; 
  svg:any;
  constructor(private sanitizer: DomSanitizer) {  
  this.svg = this.sanitizer.bypassSecurityTrustHtml(this.svgshow);
   }
  }

и вывожу
<svg:g [innerHTML]="svg" transform="translate(-8735.7488,-7966.7338)">

Но в console Chrome получаю undefined
А когда @Input срабатывает?
  • Вопрос задан
  • 181 просмотр
Решения вопроса 1
navix
@navix
Angular & TypeScript
В конструкторе еще нет значения Input-параметров. Поэтому тут лучший вариант использовать хук ngOnChanges.

...
ngOnChanges() {
  this.svg = this.sanitizer.bypassSecurityTrustHtml(this.svgshow);
}
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы