Qualcuno ha mai provato Mathjax a lavorare con Angular2?Come far funzionare Mathjax con Angular2?
Plunkr esempio creato: - http://plnkr.co/edit/FLduwmtHfkCN5XPfzMsA?p=preview
Da alcuni esempi Angular1 che ho visto sembra che sia necessaria una direttiva per chiamare MathJax.Hub.Queue, ma ho il sospetto che mi ci vorrà un bel po 'per ottenere il angolare 2 sintassi giusto, quindi mi chiedevo se qualcuno l'ha già fatto?
ad esempio il seguente è un esempio Angolare 1. https://github.com/ColCarroll/ngMathJax/blob/master/ng-mathjax.js
E la sintassi mathjax è qui: - https://docs.mathjax.org/en/v1.1-latest/typeset.html
Cercando di fare qualcosa di simile in Angular2.
AGGIORNAMENTO - i seguenti lavori, grazie a Thierry.
Componente: -
import {Component, OnInit} from 'angular2/core';
import {MathJaxDirective} from './mathjax.directive';
@Component({
selector: 'hello-mathjax',
templateUrl: 'app/hello_mathjax.html',
directives: [MathJaxDirective]
})
export class HelloMathjax {
fractionString: string = 'Inside Angular one half = $\\frac 12$';
index: number = 3;
ngOnInit() {
MathJax.Hub.Queue(["Typeset",MathJax.Hub,"MathJax"]);
}
update() {
this.fractionString = 'Inside Angular one third = $\\frac 1'+this.index+'$';
this.index++;
}
}
direttiva: -
import {Directive, ElementRef, Input} from 'angular2/core';
@Directive({
selector: '[MathJax]'
})
export class MathJaxDirective {
@Input('MathJax') fractionString: string;
constructor(private el: ElementRef) {
}
ngOnChanges() {
console.log('>> ngOnChanges');
this.el.nativeElement.style.backgroundColor = 'yellow';
this.el.nativeElement.innerHTML = this.fractionString;
MathJax.Hub.Queue(["Typeset",MathJax.Hub, this.el.nativeElement]);
}
}
Ancora non è sicuro perché ho bisogno di fare la coda la ri-renderizzare in entrambi i luoghi.
Il plunkr sopra ora viene inizializzato correttamente e Angular visualizza correttamente MathJax, ma non funziona correttamente sugli aggiornamenti dei dati (fare clic sul pulsante plunkr per vedere). Qualche idea ? – Robert