Я использую канал для получения данных из хранилища (управление состоянием Redux) и выполняю некоторую обработку с использованием этих данных, добавляю несколько разметок и возвращаю новые.В HTML я получаю это значение и отображать его.Как только я начинаю использовать хранилище и использовать наблюдаемый шаблон для получения данных из хранилища, я не могу получить никаких данных в HTML-шаблон.Когда я печатаю значение в канале (ровно перед возвратом), оно показывает данные, но не отражает html-элемент.
вот код внутри функции преобразования
@Pipe({
name: 'highlight',
})
export class HighlightSearchPipe implements PipeTransform {
constructor(private store: Store<any>, private sanitizer: DomSanitizer)
{}
transform(value: any, args?: any): any {
this.store
.select(currentSearchQuerySelector)
.pipe(
takeUntil(this.destroyed$),
)
.subscribe(processedSearchText => {
processedSearchText.forEach(searchText => {
const re = new RegExp(searchText, 'gi');
const match = value.match(re);
// If there's no match, just return the original value.
if (!match) {
return value;
}
value = value.replace(re, '<mark class="saqr-first-mark">' + match[0] + '</mark>');
});
console.log(value); //print the right values
return value;
});
}
}
и вот HTML-код
<span class="m-widget3__username" [innerHTML]="user.name | highlight | async">