2016-09-11 8 views
0

私app.jsは、私は、リストの例ではTAG1とTAG2の印刷配列をしたい 角度jsでjsonオブジェクトと配列値をどのように表示できますか?

  • thrid

    • 最初

      招待

      var app = angular.module('plunker', []); 
      
      app.controller('MainCtrl', function($scope) { 
      $scope.eventmetrics = [ 
               { 
                _id: '57d439cf666a8d1080003e90', 
                firstName: [ 'name', 'text' ], 
                lastName: [ 'last', 'text' ], 
                taginvitations: ['first,second,third', 'text'], 
                userId: 1, 
                tagcontact: ['file,second,third,fourth', 'text'] 
               } 
              ] 
          }); 
      

      のように見えます

    接触

    • 最初eventmetricsは、常に長さ== 0持っていると仮定し
  • +0

    は、印刷したいのですか? – geckob

    +0

    私のjsonはデータベースから来て、静的なtag1とtag2を使用する代わりに動的にプリントしたい – VishalPethani

    +0

    次に、あなたのサーバが返すものにtag1を割り当てます。 – geckob

    答えて

    0

    は、あなたがこのような何かがng-repeatを使用することができます

  • thrid
  • 第四:

    <ul> 
        <li ng-repeat="text in eventmetrics[0].tag1"> {{ text }} </li> 
    </ul> 
    
    
    <ul> 
        <li ng-repeat="text in eventmetrics[0].tag2"> {{ text }} </li> 
    </ul> 
    
  • 0

    はPlunkerで完全なコードをチェックアウト:

    https://plnkr.co/edit/3TLG27?p=preview

    <!DOCTYPE html> 
    <html ng-app="plunker"> 
    <head> 
        <link rel="stylesheet" href="style.css"> 
        <script src="//ajax.googleapis.com/ajax/libs/angularjs/1.0.3/angular.min.js"></script> 
        <script src="script.js"></script> 
    </head> 
    <body ng-controller="MainCtrl"> 
        <ul ng-repeat="y in eventmetrics"> 
        <div ng-repeat="(key,value) in y" ng-show="key=='contact'||key=='invitation'"> 
        <b>{{key}}</b> 
        <li ng-repeat="x in value[0].split(',')"> 
         {{x}} 
        </li> 
        </div> 
        </ul> 
    </body> 
    </html> 
    

    //script.js

    var app = angular.module('plunker', []); 
    app.controller('MainCtrl', function($scope) { 
        $scope.eventmetrics = [ 
            { 
             _id: '57d439cf666a8d1080003e90', 
             firstName: [ 'name', 'text' ], 
             lastName: [ 'last', 'text' ], 
             invitation : ['first,second,third', 'text'], 
             userId: 1, 
             contact: ['file,second,third,fourth', 'text'] 
            } 
           ]; 
        }); 
    
    +0

    しかし、私のjsonはデータベースから来て、私は静的なtag1とtag2を使う代わりに動的な印刷をしたいのです – VishalPethani

    +0

    私の同じplunkerをもう一度見てください。これがあなたが探しているものなら。 –

    +0

    それは仕事ですがまだ静的です...私は今編集したので、もう一度質問してください...以前の提案をありがとう。 – VishalPethani

    1

    を配列tag1: ['first, second, third', 'text']の内容によると、tag1は2つだけが含まれています最初の要素の内容を分離して、必要な新しい行列を取得する必要があります。

    使用:tag1[0].split(',')

    このデモは、マトリックスeventmetricsの複数の要素で動作します。このような

    何か:

    var app = angular.module('plunker', []); 
     
    
     
    app.controller('MainCtrl', function($scope) { 
     
        $scope.eventmetrics = [{ 
     
        _id: '57d439cf666a8d1080003e90', 
     
        firstName: ['name', 'text'], 
     
        lastName: ['last', 'text'], 
     
        tag1: ['first,second,third', 'text'], 
     
        userId: 1, 
     
        tag2: ['file,second,third,fourth', 'text'] 
     
        }, { 
     
        _id: '87d439cf666a8d1080003e55', 
     
        firstName: ['name', 'text'], 
     
        lastName: ['last', 'text'], 
     
        tag1: ['first,second,third', 'text'], 
     
        userId: 1, 
     
        tag2: ['file,second,third,fourth, fifth', 'text'] 
     
        }] 
     
    });
    #metrics { 
     
        border: solid 1px #f00; 
     
        margin: 2px; 
     
        padding: 5px; 
     
    }
    <script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.2.23/angular.min.js"></script> 
     
    <div ng-app="plunker"> 
     
        <div ng-controller="MainCtrl"> 
     
        <div id="metrics" ng-repeat="em in eventmetrics"> 
     
         <h3 ng-bind="('_id: ' + em._id)"></h3> 
     
    
     
         <div> 
     
         <h4>tag1</h4> 
     
    
     
         <ul> 
     
          <li ng-repeat="tag1 in em.tag1[0].split(',')" ng-bind="tag1"></li> 
     
         </ul> 
     
         </div> 
     
         <div> 
     
         <h4>tag2</h4> 
     
    
     
         <ul> 
     
          <li ng-repeat="tag2 in em.tag2[0].split(',')" ng-bind="tag2"></li> 
     
         </ul> 
     
         </div> 
     
        </div> 
     
        </div> 
     
    </div>

    +0

    しかし、私のjsonはデータベースから来て、静的なtag1とtag2を使う代わりに動的な印刷をしたいのです。 – VishalPethani

    +0

    @Danny Fardy Jhonstonとても良い例です。わたしにはできる。 – Dhaarani

    +0

    これは私の大胆なリンクです.HTMLファイルのコメントで問題を言及しています。だから、参考にしてください...... https://plnkr.co/edit/Trc1EP4A9ei9qM7YYWyB?p = preview – VishalPethani

    関連する問題