У меня есть пользовательская директива, которая отображает строки с помощью латекса с использованием MathJax.js, вот код.
MathJax.Hub.Config({
skipStartupTypeset: true,
tex2jax: {
inlineMath: [['$','$'], ['\\(','\\)']],
processEscapes: true
}
});
MathJax.Hub.Configured();
angular.module('mathjaxModule', [])
.directive("mathjaxBind", function() {
return {
restrict: "A",
controller: ["$scope", "$element", "$attrs", function($scope, $element, $attrs) {
$scope.$watch($attrs.mathjaxBind, function(value) {
$element.text(value == undefined ? "" : value);
MathJax.Hub.Queue(["Typeset", MathJax.Hub, $element[0]]);
});
}]
};
});
и вы используете это так: <span mathjax-bind="textToRender"></span>
Эта директива очень удобна, потому что я могу комбинировать текст с выражениями MathJax, и пока математические выражения находятся в пределах $$
, все отображается нормально. Текст как текст и математические выражения с использованием MathJax.
Проблема в том, что некоторые из этих строк включают также HTML, и я не могу использовать ng-bind-html
, когда использую свою пользовательскую директиву.
Я пробовал что-то вроде этого без успеха:
<span mathjax-bind="textToRender" ng-bind-html="textToRender"></span>
Может быть, я неправильно понимаю концепцию. Как я могу решить эту проблему?