2016-10-17 3 views
0

Ich habe eine Fabrik-Code, wo ich return methods für die Verwendung in Vorlage und auch return _this für den Einsatz von Informationen aus dem Controller über die Fabrik senden benötigt. Problem ist, ich weiß nicht, wie Sie beide zur gleichen Zeit wie die return nimmt die erste return. Wie füge ich beides hinzu? Code:Verwenden Sie Return-Anweisung zweimal in der Fabrik

.factory('chatroomService', function($websocket,$rootScope,$state) { 
    var dataStream = $websocket('ws://localhost:9000'); 
    _this = this; 
    var collection = ["Ola"]; 
    dataStream.onOpen(function() { 
     _this.sendChat = function(data) { 
     dataStream.send(data); 
     }; 
    }); 
    var methods = { 
    collection : collection, 
    get: function() { 
     dataStream.send(JSON.stringify({action: 'get'})); 
    } 
    }; 
    return methods; //problem here 
}) 

Antwort

0

Sie ein Objekt zurückgeben konnte sowohl mit

return {methods: methods, context: _this} 

Und, es zu benutzen Sie nennen wollen arbeiten chatroomService.methods oder chatroomService.context

+0

Nicht für entweder – Olli

+0

@Olli Was nicht darüber Arbeits ? In Ihrer Controller-Konsole loggen Sie chatroomService ein. Was zeigt es? – Kolby

+0

Weder _this noch Methoden funktionieren, wenn ich es verwende. – Olli

Verwandte Themen