Angular不会在HTML中显示我的数组结果

我得到了我的angular度的问题…我目前正在与套接字io的一个简单的聊天广播,但为什么我的数组对象不会显示在套接字io捕获发射后的HTML

这是我的index.html代码

<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title></title> </head> <body ng-app='BaseModule'> <div ng-controller="ChatController"> <input type='number' name='sender' ng-model='sender' /> <input type='number' name='to' ng-model='to' /> <textarea name='message' ng-model='message'></textarea> <button type='button' ng-click='sendMessage()'>send it</button> <pre>{{ conversation }}</pre> </div> </body> <script type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/socket.io/1.7.3/socket.io.js"></script> <script type="text/javascript" src="angular.min.js"></script> <script type="text/javascript" src="base.js"></script> <script></script> </html> 

这里是我的base.js的代码

 var app = angular.module('BaseModule', []); app.run(function($rootScope) { }); app.controller('ChatController', ChatController); function ChatController($scope){ var self = window.location.hostname; var socket = io.connect('http://' + self + ':8890'); $scope.to = ''; $scope.message = ''; $scope.conversation = []; socket.on('connect', function () { $scope.sendMessage = function(){ var message = { to: $scope.to, sender: $scope.sender, message: $scope.message }; socket.emit('chat', message); }; }); socket.on('broadcast', function(data){ $scope.conversation = data; console.log($scope.conversation); }); } 

这是我的gulpfile.js

 var gulp = require('gulp'); gulp.task('socketio', function(){ var app = require('express')(); var server = require('http').Server(app); var io = require('socket.io')(server); var conversations = []; server.listen(8890); io.on('connection', function (socket) { socket.on('chat', function(data){ conversations.push(data); console.log(conversations); socket.emit('broadcast', conversations); }); }); }); 

你可以看到我正在通过gulp运行我的套接字io,但实际上它已经工作了,但问题在我的index.html中的$ scope.conversation ,为什么它不会改变?

这可能是$ scope绑定的问题,所以试着添加$scope.$digest();$scope.conversation = data;