2017-02-09 6 views
0

Der folgende Code

Error: (SystemJS) Can't resolve all parameters for $WebSocket: ([object Object], [object Object], ?). 

app.component.ts gibt

import { Component } from '@angular/core'; 
import {$WebSocket} from 'angular2-websocket/angular2-websocket' 
import {OnInit} from '@angular/core'; 
import {Inject} from '@angular/core'; 

@Component({ 
    selector: 'my-app', 
    templateUrl: `app/root-template.html`, 
    providers: [$WebSocket] 
}) 
export class AppComponent implements OnInit{  
    constructor(private websocket:$WebSocket) { 

    } 

    ngOnInit(): void { 

    console.log('init') 
    } 

} 

Und der angular2-websocket Code kann hier gesehen werden: https://github.com/afrad/angular2-websocket/blob/master/src/angular2-websocket.ts

ich habe insahund Angular 2 RC 4 "(SystemJS) Can't resolve all parameters for [object Location]: " in IE 11 aber sie scheinen nicht das gleiche Problem zu sein wie meines.

Ich kann sehen, dass es ein Problem mit den Parametern für den Websocket gibt. Es ist nicht möglich, Parameter in der Klammer des Konstruktors aufzurufen, und selbst wenn ich es abnehme und nur lasse, erhalte ich immer noch den Fehler. Wenn ich nur

import {$WebSocket} from 'angular2-websocket/angular2-websocket' 

verlassen ist kein Fehler

Was genau die paremeters sind die SystemJS zu lösen versucht?

Mein emitDecorator ist wahr, obwohl ich nicht weiß, wofür das ist.

Antwort

1

versuchen diese

//...import 

let myws = new $WebSocket("ws://127.0.0.1:7000"); // config your url 

@Component({ 
    //... 
    providers: [{provide: $WebSocket, useValue: myws}] 
}) 
export class AppComponent implements OnInit{  
    // ... 

} 

die $ WebSocket Konstruktor benötigen 1 param, müssen Sie es schaffen.

constructor(private url: string, private protocols?: Array<string>, private config?: WebSocketConfig, private binaryType?: BinaryType) 

https://github.com/afrad/angular2-websocket/blob/master/src/angular2-websocket.ts#L45

Verwandte Themen