angularjs - 在 Angularjs 中加载新 View 后刷新 MathJax

标签 angularjs mathjax

我或多或少有一些简单的 html 页面,其中包含由 MathJax 呈现的数学公式。我现在正在使用 AngularJS 构建一个新系统,从 angular-seed 开始。所有单独的 html 文件都包含为部分。
正如预期的那样,MathJax 只有在我刷新页面时才能正确呈现,当我通过框架加载它时,不会呈现数学表达式。

我必须在某处运行这个函数:

MathJax.Hub.Queue(["Typeset",MathJax.Hub]);

它应该在每次加载部分后运行以正确呈现公式。我怎样才能做到这一点?

最佳答案

在解决了您所描述的相同问题之后,我找到了一个快速但有点不雅的解决方案:包括 MathJax.Hub.Queue(["Typeset",MathJax.Hub]); 的第二个副本。 .例如,这是我的 Controller 的一部分,我希望在更新范围后重新排版 MathJax:

function selectLesson(name){
        $scope.page = name.Path;
        if(!$mdMedia('gt-md')){
            $scope.toggleSideNav('left');
        }
        MathJax.Hub.Queue(["Typeset",MathJax.Hub]);
        MathJax.Hub.Queue(["Typeset",MathJax.Hub]);
    }

因为 MathJax 异步加载( check out the MathJax Doc ),运行 MathJax.Hub.Queue(["Typeset",MathJax.Hub]);将等到页面重新加载以重新排版页面。再次运行相同的命令会导致排版立即发生。

关于angularjs - 在 Angularjs 中加载新 View 后刷新 MathJax,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20832157/

相关文章:

angularjs - angular.factory 的单元测试是什么以及如何进行

javascript - 多复选框过滤器在 ng-repeat 和 AngularJS 中不起作用

angularjs - uib-tooltip-html 不工作

angularjs - 指令内不能 $uibModal 但可以在 Controller 中访问

javascript - 动态 mathjax 与 react.js

css - MathJax 方程在 jekyll 中是彩色的

Angular cli 数学贾克斯

javascript - 如何防止 MathJax 中的公式触摸事件?

javascript - 引导模式中的 Angularjs 多选下拉列表

javascript - 在自定义指令上转义 HTML