在离子应用程序中显示已解析的HTML内容

时间:2015-08-24 16:07:27

标签: javascript html angularjs ionic

我从JSON文件中检索信息。标题和内容都是字符串类型

.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

1 个答案:

答案 0 :(得分:1)

我找到了解决问题的方法。使用angular-markedangular-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>