Javascript Ember.js为每一条路线运行路线更改功能。全局激活功能?
我使用的是MathJax库,它允许您在页面上添加latex,但它只在您从一个站点访问路由时运行。如果您从{{link to}}助手访问,它将不会运行排版功能,因为页面实际上没有重新加载 我已经能够通过在每一条路线上都放上这个来解决这个问题:Javascript Ember.js为每一条路线运行路线更改功能。全局激活功能?,javascript,ember.js,Javascript,Ember.js,我使用的是MathJax库,它允许您在页面上添加latex,但它只在您从一个站点访问路由时运行。如果您从{{link to}}助手访问,它将不会运行排版功能,因为页面实际上没有重新加载 我已经能够通过在每一条路线上都放上这个来解决这个问题: activate () { Ember.run.scheduleOnce('afterRender', this, function() { MathJax.Hub.Queue(["Typeset", MathJax.Hub, doc
activate () {
Ember.run.scheduleOnce('afterRender', this, function() {
MathJax.Hub.Queue(["Typeset", MathJax.Hub, document.body]);
});
}
但我很好奇,是否有一个全局激活函数可以覆盖/扩展,以避免将此语句放在每个页面上。您可以创建一个mixin:
或者尝试使用“重新打开”
//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, {});