我有一個連接到websocket服務器,將消息推送到我的angularJS應用程序。我在服務中收到這些消息,現在我想在gui上公佈這些數據。
angular.module("test", [])
.value("DATA", [])
.service("WSS", ["$rootScope", "DATA", function ($rootScope, DATA) {
//initialise websocket here
m_WebSocket.onmessage = function (msg) {
$rootScope.$apply(function() {
DATA = angular.fromJson(msg.data).slice();
});
console.debug(DATA); //gives me the expected result
};
}])
.controller("CTRL", ["$scope", "DATA", function ($scope, DATA) {
$scope.data = DATA;//wont update
}]);
所以,據我瞭解角度我認爲它必須這樣工作,但我的數組陣列保持空。我在這裏錯過了什麼?
有幾件事情,儘量少用'$ rootcope',總會有更好的辦法。另外,你不應該在服務中使用任何類型的'$ scope'。只有控制器/指令訪問$ scope。 – 2015-03-02 14:22:26