в противном случае они будут в конечном итоге отображать очищенную разметку в виде простого текста.
аюсь создать директиву, которая изменяет элементinnerHTML
добавив ссылки на те подстроки, которые начинаются с@
условное обозначение.
Это то, что я пробовал до сих пор,
linkify.directive.ts
constructor(private elementRef: ElementRef, private renderer: Renderer2) {
let elementText = this.elementRef.nativeElement.innerHTML;
// elementText = '@user mentioned you';
console.log(`Element Text: ${elementText}`);
this.renderer.setProperty(this.elementRef.nativeElement, 'innerHTML', this.stylize(elementText));
}
и я использую это так
<p linkify> Hey @user check this out! </p>
Во время отладки я сделал следующие наблюдения,
this.elementRef.nativeElement.innerHTML
всегда есть пустая строкаthis.renderer.setProperty(this.elementRef.nativeElement, 'innerHTML', 'something');
являетсядобавление something
в начало текста элемента вместо замены.Вопрос 1: Как получить доступ кinnerHTML
элемента?
Вопрос 2: Как установить innerHTML элемента из директивы?
Stackblitz демонстрирует проблему
Я попробовал документацию дляRenderer2
, но это мне не поможет.