我已经使用过MathJax一段时间了,并且在之前的角度实现中使用了它,标准指令如下所示。
(function ()
{
'use strict';
angular
.module('app.core')
.directive('mathjaxBind', mathjaxBindDirective);
/** @ngInject **/
function mathjaxBindDirective()
{ return {
restrict: 'A',
link: function (scope, element, attrs) {
scope.$watch(attrs.mathjaxBind, function(texExpression) {
var texScript = angular.element("<script type='math/tex'>").html(texExpression ? texExpression : "");
element.html("");
element.append(texScript);
MathJax.Hub.Queue(["Reprocess", MathJax.Hub, element[0]]);
});
}
}
};
})();
显然它被称为
<span mathjax-bind="obj.data.text"></span>
当前实现与以前的实现之间的主要区别在于使用“controller as”语法调用控制器。
MathJax正确加载,似乎被正确调用。确实调用了该指令,并且代码正确放置在元素中。但是,它没有格式化,也没有显示。似乎格式化根本就不会发生。
可能是范围有问题吗?