0

角度アプリのコントローラーを更新して、socket.io からオブジェクトを受信しようとしています。プッシュ関数を使用して変数に新しいオブジェクトを追加するとビューが表示されないことを除いて、すべて正常に機能します。これが私のコードです。

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}}

私のコードの何が問題なのですか?目的は、ng-repeat を使用して p タグ内のすべてのコンテンツを表示することです。

4

2 に答える 2

0

コールバック内で角度スコープ変数を更新しようとしたときに、まったく同じ問題が発生しましたsocket.on。@aw04 がコメントで述べたように、修正は単純な呼び出しを行うことでした$scope.$apply()

于 2016-01-20T20:32:30.263 に答える