gpt4 book ai didi

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

转载 作者:行者123 更新时间:2023-12-03 22:28:06 24 4
gpt4 key购买 nike

我或多或少有一些简单的 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/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com