Mamy następujące klasy TestComponent.ts
maszynopis:„nowe” wyrażenie, którego cel brakuje podpisu konstruktu w maszynopisie
01: import TestVectorLayer from './TestVectorLayer'
02:
03: export class TestComponent implements OnInit {
04: private foo: any;
05:
06: constructor() { }
07:
08: const layer = new TestVectorLayer("foo");
09: }
A po TestVectorLayer.ts
funkcja:
Należy pamiętać, że openlayers na 3 używa Google Closure Library, dlatego TestVectorLayer
nie jest klasą TypeScript.
01: declare let ol: any;
02:
03: const TestVectorLayer = function (layerName: string) {
04: ...
05: console.log(layerName);
06:
07: ol.layer.Image.call(this, opts);
08: }
09:
10: ol.inherits(TestVectorLayer as any, ol.layer.Image as any);
11:
12: export default TestVectorLayer;
Dostajemy następujący błąd:
Error on Line 08 in TestComponent.ts class:
[ts] 'new' expression, whose target lacks a construct signature, implicitly has an 'any' type. import TestVectorLayer
W package.json
wersje maszynopisu:
devDependencies:
"typescript": "~2.2.1"
Zapomniałeś domyślny eksport TestVectorLayer? –
@AluanHaddad Zrobiłem to w moim pytaniu, ale nie w kodzie. Zaktualizowałem to pytanie, dziękuję! Niezależnie od tego nadal otrzymuję błąd. – fuzz
Dlaczego chcesz "nowe" tej funkcji? Pytam, ponieważ, mimo że istnieje łatwa korekta, która tłumi błąd, może to wskazywać na prosty sposób, w jaki można ulepszyć swój projekt. –