2016-03-03 72 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] 


});