0

ngressource で取得した 2 つのオブジェクトを結合する方法。

5 秒ごとにサービスを呼び出してメッセージを取得し、古いメッセージに新しいメッセージを追加したいと考えています。

私のJsonメッセージ:

[
{"age": 0,"id": "my first tweet","name": "Hello Sarah","snippet": "It's fabulous"},
{"age": 1,"id": "my second tweet","name": "Hello dude !","snippet": "It's fabulous"}
]

私のサービス :

'use strict';

/* Services */

var listlogServices = angular.module('listlogServices', ['ngResource']);

listlogServices.factory('Log', ['$resource',
  function($resource){
    return $resource('log/log1.json', {}, {
      query: {method:'GET', params:{}, isArray:true}
    });
  }]);

私のコントローラーと機能

'use strict';

var app = angular.module('appRecupTweetApp');


app.controller('TimerCtrl1', function TimerCtrl1($scope, Timer){

  $scope.$watch(function () { return Timer.data.myTab; },
    function (value) {
      $scope.data = value ;
      //$scope.data.push(value);
      //$scope.data = $scope.data.concat(value);
    }
  );

});

app.service('Timer', function ($timeout, Log) {

  var data = { myTab: new Array()};

  var updateTimer = function () {
    data.myTab = Log.query();
    $timeout(updateTimer, 5000);
  };

  updateTimer();

  return {
    data: data
  };
});

オブジェクトを 'push' および 'concat' と組み合わせようとしましたが、正しくありません。修正されたエラー (Angular によると: $scope.data is undefined )

「タイマー」サービスまたはコントローラーでこの操作を行うことができますか?良い解決策は何ですか?

オンラインデモ:plnkr.co/edit/Vzdy9f7zUObd71Lm86Si

ありがとう

ギヨーム

4

1 に答える 1

0

$scope.dataTimerCtrl1 コントローラーで初期化するだけです。

 app.controller('TimerCtrl1', function TimerCtrl1($scope, Timer){
$scope.data=[];
  $scope.$watch(function () { return Timer.data.myTab; },
    function (value) {
      $scope.data = value ;
      //$scope.data.push(value);
      //$scope.data = $scope.data.concat(value);
    }
  );

});
于 2014-01-17T09:39:21.867 に答える