programing

Angular 2 HTTP "'AppService'에 대한 일부 매개 변수를 확인할 수 없습니다."

randomtip 2023. 6. 10. 16:20
반응형

Angular 2 HTTP "'AppService'에 대한 일부 매개 변수를 확인할 수 없습니다."

http 공급자를 서비스로 가져오려고 했지만 다음 오류가 발생합니다.

'AppService'(?)에 대한 일부 매개 변수를 확인할 수 없습니다.모든 매개 변수가 Injector(주입기)로 표시되고 'AppService'가 Injectable(주입기)로 표시되는지 확인합니다.

다음은 몇 가지 코드 조각입니다.

<script src="~/es6-shim/es6-shim.min.js"></script>
<script src="~/systemjs/dist/system-polyfills.js"></script>

<script src="~/angular2/bundles/angular2-polyfills.js"></script>
<script src="~/systemjs/dist/system.src.js"></script>
<script src="~/rxjs/bundles/Rx.js"></script>
<script src="~/angular2/bundles/angular2.dev.js"></script>
<script src="~/angular2/bundles/http.dev.js"></script>

<!-- 2. Configure SystemJS -->
<script>
    System.config({
        map: { 'rxjs': 'RCO/rxjs' },
        packages: {
            RCO: {
                format: 'register',
                defaultExtension: 'js'
            },
            'rxjs': {defaultExtension: 'js'}
        }
    });
  System.import('RCO/Areas/ViewOrganization/AngularTemplates/boot')
      .then(null, console.error.bind(console));

부트.츠

import {bootstrap} from 'angular2/platform/browser'
import {HTTP_PROVIDERS} from 'angular2/http'
import 'rxjs/add/operator/map'
import {AppComponent} from  'RCO/Areas/ViewOrganization/AngularTemplates/app.component'
import {AppService} from 'RCO/Areas/ViewOrganization/AngularTemplates/app.service'

bootstrap(AppComponent, [HTTP_PROVIDERS, AppService]);

app.service.ts

import {Injectable} from 'angular2/core';
import {Http, Response} from 'angular2/http';
import {Observable} from 'rxjs/Rx';

@Injectable()
export class AppService {

    constructor(private http: Http) { }

    // Uses http.get() to load a single JSON file
    getTableData() {
        return this.http.get('...').map((res: Response) => res.json());
    }

}

서버의 컨트롤러를 호출하여 JSON 파일을 데이터 테이블에 로드하려고 합니다.꽤 간단한 일이지만, 제가 Http 모듈을 로딩하는 방식이 잘못된 것 같습니다.어떤 도움이든 감사하겠습니다.

사용하지 않는 것 같습니다.typescript파일을 파일로 변환하기 위한 컴파일러js그런 경우에는 사용해야 합니다.@Inject구성 요소 생성자 내부에 종속성을 주입하는 동안.

import {Injectable, Inject} from 'angular2/core';
import {Http, Response} from 'angular2/http';
import {Observable} from 'rxjs/Rx';

@Injectable()
export class AppService {
    constructor(@Inject(Http) private http: Http) { }
    // Uses http.get() to load a single JSON file
    getTableData() {
        return this.http.get('...').map((res: Response) => res.json());
    }
}

나중에 타이핑을 줄일 수 있는 또 다른 방법은 다음과 같습니다.

당신의tsconfig.json더하다compilerOptions.emitDecoratorMetadata=true

단순의 예tsconfig.json다음과 같습니다.

{
  "compilerOptions": {
    "emitDecoratorMetadata": true,
    "experimentalDecorators": true
  }
}

저도 같은 문제가 있었고, 저에게 문제는 제가 빠진 것이었습니다.import { HttpModule } from '@angular/http'app.module.ts

또 다른 가능한 해결책은 일부 폴리필이 누락된 것입니다.다른 답변을 찾을 수 없는 사용자는 다음 폴리필을 추가해야 합니다.

import 'core-js/es7/reflect';

언급URL : https://stackoverflow.com/questions/35370405/angular-2-http-cannot-resolve-all-parameters-for-appservice

반응형