gpt4 book ai didi

javascript - Ember.js 在每条路线的路线更改上运行功能。全局激活函数?

转载 作者:行者123 更新时间:2023-11-29 18:04:15 26 4
gpt4 key购买 nike

我正在使用 MathJax 库,它可以让您在页面上使用 latex ,但它仅在您从 <a> 访问路由时运行.如果您从 {{link-to}} 访问helper,它不会运行它的排版功能,因为页面实际上并没有重新加载。

我已经能够通过将它放在每条 route 来解决这个问题:

  activate () {
Ember.run.scheduleOnce('afterRender', this, function() {
MathJax.Hub.Queue(["Typeset", MathJax.Hub, document.body]);
});
}

但我很好奇是否有一个全局激活函数我可以覆盖/扩展而不是必须将此语句放在每个页面上。

最佳答案

你可以创建一个 mixin ( http://emberjs.com/api/classes/Ember.Mixin.html ):

//app/mixins/base-route.js
import Ember from 'ember';

export default Ember.Mixin.create({
activate () {
Ember.run.scheduleOnce('afterRender', this, function() {
MathJax.Hub.Queue(["Typeset", MathJax.Hub, document.body]);
});
}
});

//app/routes/some.js
import Ember from 'ember';
import RouteMixin from '../mixins/base-route';

export default Ember.Route.extend(RouteMixin, {});

或者尝试使用重新打开(http://guides.emberjs.com/v1.13.0/object-model/reopening-classes-and-instances/)

关于javascript - Ember.js 在每条路线的路线更改上运行功能。全局激活函数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32531766/

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