2016-07-21 13 views
0

単一のJSONオブジェクトをHTML文字列として単純に印刷しようとしています。私は小枝のテンプレートでこれをやっています。私はAngularsのデフォルト出力を{[{}]に変更しました。 ng-inspectorでアプリを表示するとJSONがすべて表示されますが、HTMLに印刷することはできません。JsonをAngularのHTML文字列として出力する

私は単純な角度ストリング出力をテストしようとしましたが、これはうまくいくようです。

JSONファイル(スクリプトとは別のファイル):

{ 
    header: { 
     title: "Insights", 
     slug: "insights", 
     content: { 
      items: "@self.children" 
     } 
    }, 
    content: "", 
    children: [ 
     { 
      header: { 
       title: "item test", 
       taxonomy: { 
        category: [ 
         "blog" 
        ], 
        tag: [ 
         "test" 
        ] 
       } 
      }, 
      content: "This is a test" 
     } 
    ] 
} 

ここでは、アプリです:

var blogJson = "http://localhost:8888/sean/insights?return-as=json";//cache json url 
var blogCat = angular.module('blogCategories', []).config(function($interpolateProvider){ 
    $interpolateProvider.startSymbol('{[{').endSymbol('}]}'); 
});//cache app 

//master controller 
blogCat.controller('blogFilters', function($scope, $http) { 
    $http.get(blogJson).success(function(data) { 
     $scope.blogHeader = data; 
    }); 
}); 

、ここでは、小枝(HTML、唯一の関連のものを掲示するが、そうなアプリですコントローラブロックは閉じています)。

<div class="blog_app_wrap" ng-app="blogCategories" ng-controller="blogFilters"> 
    <section class="blog_header"> 
     <div class="header_text_wrap"> 
      <div class="blog_title"> 
       <h1>Latest Mortgage Insight</h1> 
       <div class="underline_center"></div> 
      </div> 
      <div class="header_text"> 
       <h2>{[{children[0].header.title}]}</h2> 
       <p>Lorem ipsum dolor sit amet, consectetur adipiscing elit.</p> 
       <a class="small_button" href="javascript:void(0)">Read Full Article</a> 
      </div> 
     </div> 

助けてください。 JSONを使用してAngularを使用して物を印刷できるようになることは、このビルドではミッションクリティカルなものになるでしょう。

+0

JSON.stringify()はjsonオブジェクトの完全な表現です。それはあなたが見ているものですか? – ArunGeorge

+1

'$ scope'の' blogHeader'プロパティにデータを割り当てました。テンプレート内では、データ内の値にアクセスするたびに、 'blogHeader'から始める必要があります。たとえば、 'h2'では' blogHeader.children [0] .header.title'を使用する必要があります。 – JAAulde

+0

'$ scope'に' children'オブジェクトがありません。あなたは 'blogHeader'オブジェクトを持っています。 try {{{blogHeader.children [0] .header.title}]} '; 'children'配列に複数の項目がある場合は' ng-repeat'を使ってみてください。 – Claies

答えて

1

クレジットは@JAAuldeと@Claiesに行く:

あなたは$スコープのblogHeaderプロパティにデータを割り当てます。テンプレート内で、データ内の値にアクセスするたびにblogHeaderから開始する必要があります。たとえば、h2では、blogHeader.children [0] .header.titleを使用する必要があります。

関連する問題