angularjs – 带SignalR的角度

我正在使用Angular和SignalR,我试图创建一个将担任经理的服务.

dashboard.factory('notificationsHub', function ($scope) {
  var connection;
  var proxy;

  var initialize = function () {
    connection = $.hubConnection();
    proxy = connection.createHubProxy('notification');

    proxy.on('numberOfIncidents', function (numOfIncident) {
      console.log(numOfIncident);
      $scope.$emit('numberOfIncidents', numOfIncident);
    });

    connection.start()
      .done(function() {
        console.log('Connected');
      })
     .fail(function() { console.log('Failed to connect Connected'); });
  };

  return {
    initialize: initialize
  };
});

但是我收到错误错误:未知提供程序:$scopeProvider< - $scope< - notificationsHub. 如何使用pubsub将所有通知传递给控制器​​? jQuery可能吗?

$scope在此上下文中不存在,因为创建控制器并创建新的子范围时注入该范围.但是,$rootScope在您需要时可用.

此外,请注意$emit()向上,您的控制器范围不会看到它.您将需要切换到$broadcast(),以便事件向下或注入$rootScope以及您想要订阅的“numberOfIncidents”的控制器

查看angular docsuseful wiki on scopes.

翻译自:https://stackoverflow.com/questions/20056743/angular-with-signalr

转载注明原文:angularjs – 带SignalR的角度