4

Angular2 Cli を使用して Angular2 アプリを構築しています。このようなコンストラクタを持つ notifications.component があります

constructor(private _elRef: ElementRef) {}

ビルドすると(npm start)、このエラーが発生します

...angular2/tmp/broccoli_type_script_compiler-input_base_path-wKrIZXNv.tmp/0/src/app/notifications/notifications.component.spec.ts (10, 21): Supplied parameters do not match any signature of call target

angular cliによって生成されたファイル notifications.component.spec.ts は次のようになります

import { By }           from '@angular/platform-browser';
import { DebugElement } from '@angular/core';
import { addProviders, async, inject } from '@angular/core/testing';
import { NotificationsComponent } from './notifications.component';

describe('Component: Notifications', () => {
 it('should create an instance', () => {
 let component = new NotificationsComponent();
 expect(component).toBeTruthy();
 });
});

ただし、コンストラクターパラメーターなしでビルドすると、すべて正常に動作します。ビルド後にこのパラメーターを追加すると、すべて正常に機能します。

私は何が欠けていますか?

4

2 に答える 2

1

この行を見てくださいlet component = new NotificationsComponent();

NotificationsComponentコンストラクターが type のオブジェクトを予期しているときに、新しいオブジェクトを作成するときに引数を指定しませんでしたElementRef

そのため、コンストラクター パラメーターなしでビルドすると、すべて正常に動作します。

于 2016-07-26T00:36:34.283 に答える
0

こんにちは、私は同じ問題に直面しているため、これに対する一時的な修正があります。これがどのように、また何が起こっているのかをまだ誰も説明できませんが、notification.component.ts に移動して、コンストラクターを次のように変更してみてください。 (private _elRef:any = ElementRef) { }" リロードして元の状態に戻します

于 2016-07-27T03:52:10.733 に答える