2016-03-03 45 views
0

是否有可能在angularjs中对组件进行依赖注入Angulajs对组件的依赖注入

我有signalR hub工厂。我想注入我的SingalR集线器代理。

我有下面的代码,我在创建ngTable组件,这需要由SignalRhub动态更新,所以我需要signalRHubProxy注入。我怎样才能得到这个。

组件

function ngTableController($scope, $element, $attrs) 
{ 
} 
app.component('ngTable', { 
    templateUrl: '/app/components/ngTable.html', 
    controller: ngTableController, 


}); 

'使用严格的';

app.factory('signalRHubProxy', ['$rootScope', 'signalRServer', 
    function ($rootScope, signalRServer) { 

     function signalRHubProxyFactory(serverUrl, hubName, startOptions) { 
      var connection = $.hubConnection(signalRServer); 
      var proxy = connection.createHubProxy(hubName); 
      connection.start(startOptions).done(function() { }); 

      return { 
       on: function (eventName, callback) { 
        proxy.on(eventName, function (result) { 
         $rootScope.$apply(function() { 
          if (callback) { 
           callback(result); 
          } 
         }); 
        }); 
       }, 
       off: function (eventName, callback) { 
        proxy.off(eventName, function (result) { 
         $rootScope.$apply(function() { 
          if (callback) { 
           callback(result); 
          } 
         }); 
        }); 
       }, 
       invoke: function (methodName, callback) { 
        proxy.invoke(methodName) 
         .done(function (result) { 
          $rootScope.$apply(function() { 
           if (callback) { 
            callback(result); 
           } 
          }); 
         }); 
       }, 
       connection: connection 
      }; 
     }; 

     return signalRHubProxyFactory; 
}]); 

回答

0

对不起,

我拿到之后试错法,答案

app.component('ngTable', { 
    templateUrl: '/app/components/ngTable.html', 
    controller: ['$scope', '$element', '$attrs', 'signalRHubProxy', ngTableController] 


});