Метод SyntaxHighlighter.all()
, который выделяет все html с тегом <pre>
, вызывается только один раз, т.е. когда страница загружается, потому что вы включили ее в тег сценария index.html.Когда вызывается этот метод, он выделяет все доступные <pre>
на странице.
Когда вы идете по маршруту, должна быть вызвана функция SyntaxHighlighter.all()
, которая выделит новые сгенерированные теги или текст внутриэтот тег.
Когда вы обновляете страницу, теги <pre>
доступны на html-странице, когда вызывается SyntaxHighlighter.all()
, что является причиной, она выделяется правильно.
Так и для статейкоторые загружаются через связывание, вызовите SyntaxHighlighter.all()
в логике один раз, чтобы выделить ваши <pre>
теги.
Вам нужно выбрать правильное событие, где оно должно вызываться в вашем компоненте, а также вам нужно определитьпеременная вверху вашего компонента ниже ваших операторов импорта, так что tslint должен позволить вам использовать эту переменную в вашем компоненте, т.е. declare var SyntaxHighlighter