Highlightjs не работает правильно с Showdown и AngularJS
Я пытаюсь объединить эти библиотеки с AngularJS:
- нг-разборки
- угловые-highlightjs
ng-showdown работает правильно, а highlightjs работает для статической модели. Я пытаюсь добиться того, чтобы подсветка синтаксиса markdown динамически изменялась, поэтому при каждом изменении динамической модели hljs применялся снова.
Этот плункер показывает проблему: https://jsfiddle.net/062m5wzb/1/
HTML:
<div ng-app="myApp" ng-controller="Ctrl as vm">
{{name}}
<textarea ng-model="vm.notworking"
style="width: 50%; height: 30vh;">
</textarea>
<br> Dynamic
<p markdown-to-html="vm.notworking" hljs hljs-source="vm.notworking"></p>
Static
<p markdown-to-html="vm.working"></p>
</div>
JavaScript:
hljs.initHighlightingOnLoad();
var app = angular.module('myApp', ['ngSanitize', 'ng-showdown', 'hljs'])
.controller("Ctrl", function($scope) {
var vm = this;
vm.working =
`
\`\`\`javascript
function hello() {
alert('Hello world!');
}
\`\`\`
`;
vm.notworking =
`
\`\`\`javascript
function hello() {
alert('Hello world!');
}
\`\`\`
`;
});
Я получил документацию angular-highlightjs, но, похоже, у меня ничего не работает.
https://github.com/pc035860/angular-highlightjs
Я предполагаю, что мне не хватает события при изменении, когда дело доходит до повторного применения highlightjs.