2016-05-11 1 views
2

Я пытаюсь получить сообщения в блоге из json-файла и проанализировать «описание» в формате HTML. Я использую ngResource, но я не получаю ничегоngResource не работает при анализе HTML из файла JSON

Это выборочные данные из JSON

jsonFeed({ 
    "title": "My Blog", 
    "description": "", 
    "modified": "2016-05-10T21:21:46Z", 
    "items": [ 
    { 
     "title": "Title1", 
     "description": "<p><a href=\"#">Paul<\/a> posted a photo:<\/p> <img src=\"https://farm8.staticflickr.com/7365/26872407641_cfbb210ee7_m.jpg\"/>" 
    }, 
    { 
     "title": "Title2", 
     "description": " <p><a href=\"#">Beth<\/a> posted a photo:<\/p><img src=\"https://farm8.staticflickr.com/7287/26333398074_cfbce73532_m.jpg\" />" 
    } 
    ] 
    }) 

app.js

var app = angular.module('blogApp',['ngResource']); 
app.filter("sanitize", ['$sce', function($sce) { 
    return function(htmlCode){ 
    return $sce.trustAsHtml(htmlCode); 
    } 
}]); 
app.controller('BlogController', ['$http', '$scope', function($http, $scope){ 
var blog = this; 
blog.posts = {}; 
    $http.jsonp('url').success(function(data){ 
}); 
jsonFeed = function(data){ 
$scope.posts = data.items; 
} 

index.html

<body ng-app="blogApp"> 
    <div ng-controller="BlogController as blog"> 
     <div class="post" ng-repeat="post in posts"> 
      <h2>{{post.title}}</h2> 
      <div ng-bind-html="'{{post.description}}' | sanitize"></div> 
    </div> 
    <script src="http://code.jquery.com/jquery-2.1.4.min.js"></script> 
    <script src="http://cdnjs.cloudflare.com/ajax/libs/angular.js/1.4.2/angular.js"></script> 
    <script src="https://cdnjs.cloudflare.com/ajax/libs/angular.js/1.4.0/angular-resource.js"></script> 
    <script src="app.js" type="text/javascript"></script> 
</body> 

В результат Я просто получаю это

{{post.description}} 

Также попытался осмотреть элемент в консоли

<div ng-bind-html="'<p><a href="#">Paul<\/a> posted a photo:<\/p> <img src=\"https://farm8.staticflickr.com/7365/26872407641_cfbb210ee7_m.jpg\"/>' | sanitize" class="ng-binding">{{post.description}}</div> 

Почему я не могу разобрать и посмотреть HTML описания?

ответ

2

Использовать псевдоним контроллера blog, когда вы ссылаетесь на сообщения, чтобы зацикливать на нем.

<div class="post" ng-repeat="post in blog.posts"> 

А потом

<div ng-bind-html="post.description | sanitize"></div> 

Примечание: Я не могу видеть код, связанный ngResource есть в вашем вопросе. Вы пропустили что-нибудь, чтобы добавить вопрос?

+0

изменение на

исправлена ​​проблема. Благодаря! – user6145338

+0

@ user6145338 действительно принимаю мой ответ, так что даст направление другим, кто ищет такую ​​же проблему. Спасибо :-) –

+0

не может повышать, недостаточно репутации – user6145338

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