Я пытаюсь обновить контроллер моего углового приложения до получения объектов из socket.io. Все работает отлично, за исключением того, что представление не отображается, когда я добавляю новый объект к переменной с помощью функции push. Вот мой код.View/controller не обновляется с помощью функции push(), используя socket.io в angularjs
Controller.js
app.controller('controller', function(){
var vm = this;
var socket = io.connect('http://localhost:3000');
//The variable that bends
vm.messages = [];
socket.on("addMsg", function(obj){
vm.messages.push({user: obj.user, content: obj.content, color:obj.col});
});
});
view.jade
...
body(ng-controller = "controller as con")
.messages
p Messages:
p(ng-repeat="array in con.messages") content: {{array.content}} , color: {{array.color}}
Что случилось с моим кодом ?, цель состоит в том, чтобы показать все содержимое в р теге, используя нг-повтор.
Скорее всего, вам понадобится $ apply вокруг vm.messages.push, поскольку он находится в обратном вызове сокета – aw04