【发布时间】:2015-01-07 14:22:24
【问题描述】:
我正在使用 angularJs、socketIo 实现一个聊天模块。 (以及用于后端的 nodeJS)。
在角度有一个数组附加到范围:$scope.messages。 对于聊天客户端,所有消息都被推送到此数组中,并使用 ng-repeat 在视图中呈现此数组。
<div class="chat-window">
<div class="chat-message" ng-repeat="message in messages track by $index">{{message}} </div>
</div>
但是,当我将元素推入“消息”数组时,它不会被渲染,除非有按键或鼠标事件。我已经检查过,没有按键或鼠标事件侦听器。该视图现在以某种方式自动更新。
有人可以建议我这个问题吗?
【问题讨论】:
-
你能贴出你的控制器代码吗?
-
尝试在将元素推入
$scope.messages数组后运行$scope.$apply()。
标签: javascript arrays angularjs socket.io chat