2016-10-31 5 views
0

Я хотел бы вернуться к своим страницам с настраиваемыми маршрутизаторами HTML-страницы.Angular 2 - Sanitize Router Link

В моем HTML у меня есть:

<span [innerHTML]="value | toRouterLink"></span> 

toRouterLink труба возвращается облагороженная канал маршрутизатора:

return this.sanitizer.bypassSecurityTrustHtml(`<a routerLink="/item/something">${value}</a>`); 

Когда я нажимаю на него, ничего не происходит, как будто нет никакой директивы вообще.

Если, однако, я заменяю «routerLink» на «href», нажав ссылку, работает (хотя, естественно, это ведет к никуда).

Как сделать работу routerLink после дезинфекции?

Кажется, что любая директива не работает, например. (click) = "myFunc()" не вызывает myFunc().

Из того, что я понял из других тем по этому вопросу, процесс санитарной обработки должен регистрировать директивы и все, что связано с угловой средой, но по какой-то причине этого не происходит.

ответ

0

Вы могли бы вместо того, чтобы попытаться

return this.sanitizer.bypassSecurityTrustURL("/item/something");
<span> 
 
    <a [routerLink]="value | toRouterLink">${value}</a> 
 
</span>

+1

труба фактически возвращает больше, чем просто маршрутизатор ссылки, он возвращает все виды HTML с вложенными угловыми директив, так что я не могу сделать это, Мне нужно иметь возможность правильно деактивировать HTML. –

+0

Любая идея, как решить эту проблему? –

+0

@RoyiBernthal вы нашли решение проблемы? – PaladiN