Angular 2의 단일 서비스 인스턴스

Mihait

우선 나는이 답변이 이전에 여러 번 게시되었음을 알고 있지만 내 작업을 할 수 없으며 여기 누군가가 도움을 줄 수 있습니다.

angular-cli beta 5를 사용하여 새 프로젝트를 생성하고 있습니다. 각도 2 rc1을 사용합니다.

ApplicationConfiguration <이라는 클래스가 있습니다.이 클래스는 애플리케이션의 각 구성 요소를 통해 하나의 인스턴스를 만들고 싶습니다.

내 main.ts에는 다음이 있습니다.

bootstrap(MyProjWebAppComponent, [ROUTER_PROVIDERS, HTTP_PROVIDERS, ApplicationConfiguration, provide(Http, {
  useFactory: (xhrBackend: XHRBackend, requestOptions: RequestOptions, router: Router, appConfig: ApplicationConfiguration) => new HttpServiceLayer(xhrBackend, requestOptions, router, appConfig),
  deps: [XHRBackend, RequestOptions, Router, ApplicationConfiguration]
})]);

내 ApplicationConfiguration 클래스 :

@Injectable()
export class ApplicationConfiguration {

  constructor() {
    console.log('aaa');
  }
}

그리고 내 ApplicationConfiguration을 삽입하는 방법에 대한 예제 구성 요소 :

import { ApplicationConfiguration } from '../..//services/application-configuration/application-configuration';
@Component({
  moduleId: module.id,
  selector: 'app-log-in',
  templateUrl: 'log-in.component.html',
  styleUrls: ['log-in.component.css'],
  directives: [ROUTER_DIRECTIVES],
  providers: [ApplicationConfiguration, LogInService]
})
export class LogInComponent implements OnInit {

 constructor(private _service: LogInService, private appConfig: ApplicationConfiguration, private _router: Router) { }
}

내가 뭘 잘못하고 있는지 모르겠지만 새 페이지로 이동하여 클래스를 삽입 할 때마다 새 인스턴스가 생성되고 있음을 알 수 있습니다.

다른 정보가 필요하면 알려주세요.

이 문제에 대한 해결책은 대단히 감사합니다.

Günter Zöchbauer

하나의 인스턴스 만 원하는 경우 클래스를 여러 번 제공해서는 안됩니다. Angular DI는 공급자 당 하나의 인스턴스를 유지합니다.

따라서 제거 ApplicationConfiguration에서 LogInComponent

 providers: [LogInService]

나는 왜 당신의 관습에 공장이 필요한지 모르겠습니다 HttpServiceLayer. 이것은 동일해야합니다.

업데이트 (> = RC.5)

@NgModule({
  declarations: [MyProjWebAppComponent], 
  bootstrap: [MyProjWebAppComponent], 
  imports: [BrowserModule, RouterModule, HttpModule], 
  providers: [
   ApplicationConfiguration, 
   {provide Http: useClass: HttpServiceLayer})
  ]
});

원래 부트 스트랩 (MyProjWebAppComponent, [ROUTER_PROVIDERS, HTTP_PROVIDERS, ApplicationConfiguration, provide (Http, {useClass : HttpServiceLayer})]);

이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.

침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제

에서 수정
0

몇 마디 만하겠습니다

0리뷰
로그인참여 후 검토

관련 기사

분류에서Dev

Angular 8 : 동일한 서비스의 여러 인스턴스 사용

분류에서Dev

Firebase의 단일 인스턴스

분류에서Dev

(WPF / MVVM) MainViewModel의 단일 인스턴스

분류에서Dev

Amazon ElasticBeanstalk의 단일 인스턴스 cronjob

분류에서Dev

angular2 서비스 인스턴스화

분류에서Dev

Kafka : 여러 인스턴스의 단일 소비자 그룹

분류에서Dev

단일 httpClient를 AppService의 단일 인스턴스로

분류에서Dev

스프링 관리 빈의 단일 인스턴스 확인

분류에서Dev

Angular2는 구성 요소 및 하위 구성 요소가 서비스에서 ngModel의 단일 인스턴스에 액세스하도록 허용합니다.

분류에서Dev

Angularjs 및 Jasmine : 동일한 서비스의 여러 인스턴스로 테스트

분류에서Dev

Phonegap 단일 인스턴스

분류에서Dev

qt에서 단일 인스턴스 앱의 이미 실행중인 인스턴스 최대화

분류에서Dev

java.util.ServiceLoader는 서비스의 단일 인스턴스 만로드합니까?

분류에서Dev

서버에 동일한 Windows 서비스의 여러 인스턴스 설치

분류에서Dev

Angular Testing에서 모의 서비스를 사용하여 클래스 인스턴스 만들기

분류에서Dev

그놈 터미널의 단일 인스턴스?

분류에서Dev

Qt의 단일 인스턴스 애플리케이션

분류에서Dev

Ruby on Rails 및 인스턴스 변수의 단일 전체

분류에서Dev

JFrame의 단일 인스턴스 만 닫으시겠습니까?

분류에서Dev

단일 AndroidHttpClient 인스턴스와의 동시 연결

분류에서Dev

프리 팹의 단일 인스턴스 감지

분류에서Dev

JSP는 JAR의 단일 인스턴스 만 실행합니까?

분류에서Dev

단일 SOLR 인스턴스의 여러 컬렉션

분류에서Dev

그놈 터미널의 단일 인스턴스?

분류에서Dev

일련의 memoryview에서 단일 바이트 인스턴스 생성

분류에서Dev

동일한 서비스 URI에 연결하는 단일 프로세스에서 ServerEventsClient의 여러 인스턴스 사용

분류에서Dev

객체 단일 인스턴스의 배열 속성으로서의 JS

분류에서Dev

명령 패턴은 단일 인스턴스의 명령입니다.

분류에서Dev

인스턴스 변수 사용을 C #의 단일 메서드로 제한

Related 관련 기사

  1. 1

    Angular 8 : 동일한 서비스의 여러 인스턴스 사용

  2. 2

    Firebase의 단일 인스턴스

  3. 3

    (WPF / MVVM) MainViewModel의 단일 인스턴스

  4. 4

    Amazon ElasticBeanstalk의 단일 인스턴스 cronjob

  5. 5

    angular2 서비스 인스턴스화

  6. 6

    Kafka : 여러 인스턴스의 단일 소비자 그룹

  7. 7

    단일 httpClient를 AppService의 단일 인스턴스로

  8. 8

    스프링 관리 빈의 단일 인스턴스 확인

  9. 9

    Angular2는 구성 요소 및 하위 구성 요소가 서비스에서 ngModel의 단일 인스턴스에 액세스하도록 허용합니다.

  10. 10

    Angularjs 및 Jasmine : 동일한 서비스의 여러 인스턴스로 테스트

  11. 11

    Phonegap 단일 인스턴스

  12. 12

    qt에서 단일 인스턴스 앱의 이미 실행중인 인스턴스 최대화

  13. 13

    java.util.ServiceLoader는 서비스의 단일 인스턴스 만로드합니까?

  14. 14

    서버에 동일한 Windows 서비스의 여러 인스턴스 설치

  15. 15

    Angular Testing에서 모의 서비스를 사용하여 클래스 인스턴스 만들기

  16. 16

    그놈 터미널의 단일 인스턴스?

  17. 17

    Qt의 단일 인스턴스 애플리케이션

  18. 18

    Ruby on Rails 및 인스턴스 변수의 단일 전체

  19. 19

    JFrame의 단일 인스턴스 만 닫으시겠습니까?

  20. 20

    단일 AndroidHttpClient 인스턴스와의 동시 연결

  21. 21

    프리 팹의 단일 인스턴스 감지

  22. 22

    JSP는 JAR의 단일 인스턴스 만 실행합니까?

  23. 23

    단일 SOLR 인스턴스의 여러 컬렉션

  24. 24

    그놈 터미널의 단일 인스턴스?

  25. 25

    일련의 memoryview에서 단일 바이트 인스턴스 생성

  26. 26

    동일한 서비스 URI에 연결하는 단일 프로세스에서 ServerEventsClient의 여러 인스턴스 사용

  27. 27

    객체 단일 인스턴스의 배열 속성으로서의 JS

  28. 28

    명령 패턴은 단일 인스턴스의 명령입니다.

  29. 29

    인스턴스 변수 사용을 C #의 단일 메서드로 제한

뜨겁다태그

보관