2015-08-24 3 views
1

Я извлекаю информацию из файла JSON. Название и содержание как тип строкиОтображение разобранного содержимого HTML в ионном приложении

.controller('ExampleController', function($scope, $http){ 
    $http.get('example.json').then(function(resp){ 
    $scope.title = resp.data.title; 
    parser=new DOMParser(); 
    htmlDoc=parser.parseFromString(resp.data.content, "text/html"); 
    $scope.content = htmlDoc.body.innerHTML; 
    console.log(htmlDoc.body.innerHTML) 
    }, function(err){ 
    console.error('ERR', err); 
    }) 
}); 

Но содержание не простая строка, это число HTML тегов (часть информации я извлечь из HTML-страницы). Дело в том, что я не могу разобрать его в моем index.html. Когда я пишу содержание, вид показывает обычный текст или

{"location": null} 

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

Может быть, я должен разобрать его в markdown

+0

вы должны использовать [$ SCE] (HTTPS : //docs.angularjs.org/api/ng/service/$sce), если вы планируете работать с внутренними переменными HTML. – Claies

ответ

1

Я нашел решение своей проблемы. Использование angular-marked и angular-markdown-directive, я изменил код таким образом

.controller('ExampleController', function($scope, $http, marked){ 
     $http.get('example.json').then(function(resp){ 
     $scope.title = resp.data.title; 
     var markedStr = toMarkdown(resp.data.content); 
     $scope.content = markedStr; 
     }, function(err){ 
     console.error('ERR', err); 
     }) 
    }); 

А потом в index.html я показываю содержание

<div marked="content"> 
</div> 
+0

Мне не удалось создать модуль hc.marked. Что вы включаете, пожалуйста, в свой app.js? и в вашем угловом модуле в контроллере.js? – test

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