область видимости AngularJs

127
31 июля 2021, 15:50

Всем доброго времени суток. У меня вопрос могу ли я изменить свойства $scope обычного контроллера из вне фреймворка? я использую socket io и приходящие данные мне нужно поместить допустим в $scope.accInfo.user_id. Как это сделать?

var socket = io(); 
socket.on('new event', function (msg) { 
  //msg - это сообщение нужно поместить в $scope.accInfo.user_id 
}) 
     
var settAcc = angular.module('settAcc', []) 
 
settAcc.controller('addApp', function($scope){ 
  $scope.accInfo = { 
                      user_id: '' // сюда нужно поместить msg  
                    }	     
});

Answer 1

Как-то так, наверное:

var socket = io();
settAcc.controller('addApp', function($scope) {
  $scope.accInfo = {
    user_id: '' // сюда нужно поместить msg 
  };
  socket.on('new event', function (msg) {
    $scope.accInfo.user_id = msg;
    $scope.$apply();
  });
});
READ ALSO
Ya.share2 и динамические материалы

Ya.share2 и динамические материалы

Поделиться от Яндекса не работает на материалы добавленные динамически (ajax)Кнопки просто не отображаются в новых материалах

104