0

我有下面的代码,它使用 socket.io 从我的后端获取推文。我正在使用 ntwitter 并且正在打开一个流。我正在尝试将推文放入队列中,以便可以让它们以不同的时间间隔在屏幕上浮动,但是套接字永远不会停止获取推文,因此我的队列无法从我的前端以角度访问。我确实成功地提取了推文,因为我控制台记录它们,我只是不能让它们出现在前端。

socket.on('tweet', function(data){
  $scope.tweetObject = {
    "user": data.user,
    "text": data.text
  }
  $scope.queue.enqueue(tweetObject);
  $scope.tweet = $scope.queue.dequeue();
  console.log($scope.tweet);
});

我的 html 前端

<div ng-controller="mainSpaceController">
  <div class="tweet" ng-repeat="x in tweetObject">
    <p> in the field</p>
      {{x.user}}
      {{x.text}}

  </div>

</div>
4

1 回答 1

0

可能您需要response.end()在 nodejs 后端的响应处理程序的末尾添加。

并且不要忘记$scope.$apply()在使用新数据更新范围后调用以强制执行摘要循环。你的迭代将是 l

更新:在您的示例tweetObject中,它不是一个数组,它只是一个普通对象。因此,您正在迭代其属性,请在此处查看更多信息。

更新后的代码:

<div ng-controller="mainSpaceController">
    <div class="tweet" ng-repeat="(user, text) in tweetObject">
        <p> in the field</p>
        {{user}}
        {{text}}
    </div>
</div>
于 2015-09-06T06:08:36.853 回答