2015-02-17 4 views
0

Я использую вкладки Углового бутстрапа. Я хотел бы использовать их с их содержимым, загруженным из Angular Model. Тем не менее, все HTML в содержимом, загруженном из модели eh, игнорируются. то есть если у меня естьУгловая бутстрап Обработка HTML динамического содержимого вкладки

$scope.tabs = [ 
    { title:'Dynamic Title 1', content:"<b>Dynamic</b> content 1" }, 
    { title:'Dynamic Title 2', content:'Dynamic content 2', disabled: true } 
    ]; 

содержание первой вкладке является «Dynamic Содержание 1», а не «Динамический контент 1» с «Dynamic» выделены жирным шрифтом. Если содержимое, статически поставляемое в html-файле, оно будет отображаться правильно.

Plunker to demonstrate the problem

Каждый знает, как я могу заставить HTML быть разобраны правильно?

Спасибо, Грег

+1

вам нужно используйте '$ sce' и' trustAsHtml() ', чтобы разрешить динамический контент. https://docs.angularjs.org/api/ng/service/$sce#!/ – Claies

+0

При анализе html вы можете использовать ng-bind-html -> https://docs.angularjs.org/api/ ng/directive/ngBindHtml – floor

ответ

1

Базирующаяся в комментариях, вы можете создать функцию с именем:

scope.trustHtml = function(content){ 
    return $sce.trustAsHtml(content); 
} 

, а затем изменить HTML, чтобы быть похожим на:

<tab ng-repeat="tab in tabs" heading="{{tab.title}}" active="tab.active" disabled="tab.disabled"> 
    <span ng-bind-html="trustHtml(tab.content)"></span> 
</tab> 
+0

Спасибо, что работает. Я пробовал что-то, основанное на комментариях, и он так не сработал, я отбросил его и теперь не знаю, что я сделал по-другому. :-) О, хорошо, спасибо за то, что работает! –

Смежные вопросы