是否可以在angularjs中对组件进行依赖注入
我有signalR hub工厂。我想注入我的SingalR集线器代理。
我有以下代码,我在创建ngTable组件,这需要由SignalRhub动态更新,所以我需要注入signalRHubProxy。我怎么能得到这个。
组件
function ngTableController($scope, $element, $attrs)
{
}
app.component('ngTable', {
templateUrl: '/app/components/ngTable.html',
controller: ngTableController,
});
工厂
'use strict';
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 :(得分:0)
抱歉,
我在追踪和错误方法后得到了答案
app.component('ngTable', {
templateUrl: '/app/components/ngTable.html',
controller: ['$scope', '$element', '$attrs', 'signalRHubProxy', ngTableController]
});