2016-03-22 1 views
0

У меня есть приложение, которое отображает виды с помощью Mathml. Теги Math не обрабатываются. Я должен обновить страницу для их обработки.Angular JS Mathml views not processing

Мой взгляд содержит один контроллер и MathML тегов, как:

момента-lone.html:

<math xmlns="http://www.w3.org/1998/Math/MathML"> 
    <msub><mi>I</mi><mn>x</mn></msub><mtext>&nbsp;et&nbsp;</mtext><msub><mi>I</mi><mn>y</mn></msub> 
</math> 

Угловой маршрутизацию приложения к view.html

var mid = angular.module('mid', [ 
    'ngRoute' 
]). 
config(['$routeProvider', function($routeProvider) { 
    $routeProvider. 
    when("/moment", {templateUrl: "moment-lone.html", controller: "momentCtrl"}). 
    otherwise({redirectTo: 'index'}); 
}]); 

приложение работает. Однако ожидаемые теги не обрабатываются mathjax, потому что они загружаются перед тегами. И это использование Chrome. В firefox они видны при загрузке. Я думаю, что Firefox имеет встроенную поддержку математики.

+0

Вопрос неясен. Что вы подразумеваете под «не обрабатывается»? Каков ваш вклад? Каков ваш ожидаемый результат? Покажите полный пример кода, с которым у вас проблемы. что ты уже испробовал? –

+0

Я вижу простой текст на странице вместо формата mathml. Эта одна строка будет выглядеть так: «Ix et Iy» – MadeInDreams

+0

Вы должны сообщить MathJax о том, что вы измените содержимое веб-сайта при изменении представления. –

ответ

0
$scope.data = '<p><math xmlns="http://www.w3.org/1998/Math/MathML"><mfrac bevelled="true"><mrow><mo>(</mo><msup><mi>B</mi><mn>2</mn></msup><mo>&#177;</mo><msqrt><mn>4</mn><mi>a</mi><mi>c</mi></msqrt><mo>)</mo></mrow><mrow><mn>2</mn><mi>A</mi></mrow></mfrac></math></p>'; 

в HTML

<div ng-bind-html="mathmltext(title)"></div> 

в app.js

$scope.mathmltext= function(html_code){  
return $sce.trustAsHtml(html_code); 

}

Не забудьте дать $ SCE в контроллере, как

app.controller("Cntrl", function($scope,$sce) { 

}

вы можете получить выход как

(B2 ± 4AC) 2A