2015-08-12 2 views
0

Моя JSON выглядит следующим образом:Как связать данные HTML в JSON собственности в угловых

[ 
    { 
    "Title": "MyTitle1", 
    "Content": "<p>Content1</p>", 
    "Date": "2014-11-19T10:00:00" 
    }, 
    { 
    "Title": "MyTitle2", 
    "Content": "<p>Content2</p>", 
    "Date": "2014-11-19T00:00:00" 
    } 
] 

Я получаю его в мой контроллер, как это:

app.controller('NewsfeedCtrl', function ($scope, $http) { 
    $http.get(serverAddress + '/api/newsfeed/page/1'). 
     success(function (data, status, headers, config) { 
      $scope.newsfeeds = data; 
     }). 
     error(function (data, status, headers, config) { 
      console.log("Smth went wrong."); 
     }); 
}); 

и связать его с точки зрения:

<div ng-controller="NewsfeedCtrl"> 
    <div ng-repeat="newsfeed in newsfeeds"> 
     {{newsfeed.Title}} 
     <br />- 
     <br />{{newsfeed.Date}} 
     <br />- 
     {{newsfeed.Content}} 
    </div> 
</div> 

Но если у меня есть HTML-теги в Контенте, как я могу его связать, чтобы просмотреть теги, которые были проанализированы.

+0

Использование нг-связывания-HTML для newsfeed.Content, этот контент путь будет обрабатываться как HTML код, а не как обычный текст. Также вы должны включить модуль ngSanitize. –

ответ

2

Использование ng-bind-html для обработки содержимого в качестве содержимого HTML.

<div ng-controller="NewsfeedCtrl"> 
    <div ng-repeat="newsfeed in newsfeeds"> 
     {{newsfeed.Title}} 
     <br />- 
     <br />{{newsfeed.Date}} 
     <br />- 
     <div ng-bind-html="newsfeed.Content"></div> 
    </div> 
</div> 

Также не забудьте включить ngSanitize модуль в вашем приложении, как это.

angular.module('itadPortal', ['ngRoute', 'ngSanitize']); 

Вы можете прочитать больше о нг-Bind-HTML HERE.

+1

У меня есть один модуль: var app = angular.module ('itadPortal', ['ngRoute']); и запустите с ним каждый контроллер. Как я могу добавить к нему второй модуль? –

+0

Обновленный ответ. –

0

Вместо того, чтобы загружать теги HTML как часть Контента, просто замените их на имя (например, просто «Content2») и загрузите их внутри тега p. Так что ваш JSON будет выглядеть следующим образом:

[ 
    { 
    "Title": "MyTitle1", 
    "Content": "Content1", 
    "Date": "2014-11-19T10:00:00" 
    }, 
    { 
    "Title": "MyTitle2", 
    "Content": "Content2", 
    "Date": "2014-11-19T00:00:00" 
    } 
] 

и ваш взгляд должен содержать следующую строку:

<p> {{newsFeed.content}} </p> 
Смежные вопросы