복붙노트

[ANGULAR] Angular2 관찰 할 수있는 동작 서비스가 작동하지 않습니다

ANGULAR

Angular2 관찰 할 수있는 동작 서비스가 작동하지 않습니다

해결법


  1. 1.값을 방출 할 때마다 동일한 돌연변이 된 객체를 방출하는 대신 새 객체를 만들어야합니다. 이는 변화 탐지 문제로부터 보호 할 것입니다. 변경할 때 항상 새로운 개체를 할당하는 것이 좋습니다.

    값을 방출 할 때마다 동일한 돌연변이 된 객체를 방출하는 대신 새 객체를 만들어야합니다. 이는 변화 탐지 문제로부터 보호 할 것입니다. 변경할 때 항상 새로운 개체를 할당하는 것이 좋습니다.

    this.data.next([...this.keys]);
    

    여기 AsobServable ()을 사용할 수 있습니다

    public getData(): Observable<number[]> {
      return this.data.asObservable();
    }
    

    또한 Günter Zöchbauer가 말한 것을 확인하십시오. 싱글 톤으로 서비스를 제공하고 있습니까?


  2. 2.나는 어느 시점에서도 같은 문제에 직면했다. 그 이유는 귀하의 서비스가 싱글 톤, 즉 모든 가입자가 새로운 인스턴스를 가져 오는 것입니다. A2 서비스에서 Angular 1과는 달리 싱글 톤이 아닙니다.

    나는 어느 시점에서도 같은 문제에 직면했다. 그 이유는 귀하의 서비스가 싱글 톤, 즉 모든 가입자가 새로운 인스턴스를 가져 오는 것입니다. A2 서비스에서 Angular 1과는 달리 싱글 톤이 아닙니다.

    여러 서비스 / 구성 요소가 공유하는 서비스의 한 인스턴스를 하나의 인스턴스가 있으면 상위 @Component 또는 @ngmodule의 공급자에 넣으십시오.

    @NgModule({
      declarations: [],
      imports: [],
      bootstrap: [AppComponent],
      providers: [DataService]
    })
    export class AppModule {
    }
    
  3. from https://stackoverflow.com/questions/39083756/angular2-observable-behaviorsubject-service-not-working by cc-by-sa and MIT license