Следующий код дает
Error: (SystemJS) Can't resolve all parameters for $WebSocket: ([object Object], [object Object], ?).
app.component.ts
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')
}
}
И код angular2-WebSocket можно увидеть здесь: https://github.com/afrad/angular2-websocket/blob/master/src/angular2-websocket.ts
Я посмотрел в Angular 2 Di not working - cannot resolve all parameters for и Angular 2 RC 4 "(SystemJS) Can't resolve all parameters for [object Location]: " in IE 11, но они, похоже, не такие же проблемы, как у меня.
Я вижу, что есть проблема с параметрами для Websocket. Невозможно вызывать параметры в круглой скобке конструктора, и даже если я снимаю его и оставляю только providers: [$WebSocket]
, я все равно получаю сообщение об ошибке. Если я оставлю только
import {$WebSocket} from 'angular2-websocket/angular2-websocket'
нет никакой ошибки
Что именно эти параметры при том, что SystemJS пытается решить?
Мой emitDecorator прав, хотя я не знаю, для чего это.