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
'programing' 카테고리의 다른 글
Python에서 파일 잠금 (0) | 2023.06.10 |
---|---|
오라클 AQ에서 대기열을 지우는 방법 (0) | 2023.06.10 |
github private repo에 대한 '터미널 프롬프트 사용 안 함' 오류로 결과를 가져오십시오. (0) | 2023.05.21 |
리치 텍스트 상자에 이미지를 삽입하려면 어떻게 해야 합니까? (0) | 2023.05.21 |
Swift를 사용하여 텍스트를 클립보드/페이스트보드에 복사하는 방법 (0) | 2023.05.21 |