2

アイテムをリストし、ユーザーがコメントを追加できるページがあります。

  1. そのページで、最後に追加された 3 つのコメントを表示したいと思います。JSON オブジェクトから最後の 3 つのコメントを取得する方法に関するヒントはありますか?
  2. また、新しいコメントを追加するときに、コメント番号を増やすにはどうすればよいですか (今のところハードコードされています)。

私のコードを参照してください: http://plnkr.co/edit/iOBXuQVY40LD8d8QV5ss?p=preview

ありがとう

4

3 に答える 3

1

注意すべき点がいくつかあります。

コメントをjsonの配列に変更しました。何らかの理由で、あなたはそれをオブジェクトとして持っていました。

フィルタを使用しlimitToて、最後の 3 つに制限できます。 <li ng-repeat="message in item.comments | limitTo:-3"></li>

私の答えには、合計および機能しているコメントの追加が含まれます。

コントローラーコード:

myApp.controller('ItemController', function($scope, $route, $location, $http, Items){

  Items.get(function(response){
    $scope.items = response; 

  })

  $scope.$watch('items', function() {
     $scope.total = $scope.items[0].comments.length;
  });

  $scope.addMessage = function(mess) {
    $scope.items[0].comments.push(
      {
        "name":"user1",
        "description": "This is comment " + ($scope.total + 1) 
      }
    );
  }

})

Plunkr の更新: http://plnkr.co/edit/2oWLRU06Kdp0yKqjodmv?p=preview

于 2013-04-29T00:55:12.630 に答える