从json angularjs渲染html

时间:2013-06-18 13:54:51

标签: html json angularjs

我正在尝试渲染保存在json中的html。

看起来json中的这个html被转义了:

{"desc": [{
            "label": "Long Label",
            "label-short": "short Label",
            "text": "Text.<br \/> text <strong class=\"class\"> text <\/strong> foo."
        }]}

我有工厂服务来获取json文件。

getFile : function() {
    return $http({
        url: 'data/foo.json',
        method: 'GET'
    })
}

控制器:

   $scope.decodeJson = function(data){
      return Data.decode(data);
   }

    var handleSuccessGetFile = function(data, status) {
         $scope.Desc = data;
    };

    Data.getFile().success(handleSuccessGetFile).error(handleErrorGetFile);

现在我要渲染$ scope.Desc

<accordion>
    <accordion-group ng-repeat="desc in Desc.desc" heading="{{desc.label}}">
        <p>
            {{decodeJson(desc.text)}}
        </p>
    </accordion-group>
</accordion>

但是渲染的desc.text被渲染为字符串而不是html,我怎样才能将它转换为html?

基于https://code.google.com/p/jsool/source/browse/jsool-site/js/util/Encoder.js?r=176

我创建服务解码

   decode: function(string){
                    return string.replace(/&#[0-9]+;/g,function(text,index){
                            return String.fromCharCode(text.match(/[0-9]+/)[0]);
                    });
            }

但它仍然呈现为字符串。

0 个答案:

没有答案