2017-11-07 1 views
0

각도 4를 처음 사용합니다. Google에서 매우 훌륭한 프레임 워크입니다.각도 4보기가 배열에서 변경 한 내용으로 업데이트되지 않습니다.

일부 JSON 데이터를 수신하기 위해 REST API를 호출하는 구성 요소가 있지만 모델이 업데이트되고 있지만보기가 변경되지 않습니다. 나는 다양한 리소스를 거쳤고 @ Angle/Core lib의 ChangeDetectorRef 구성 요소에 대한 참조를 얻었다.

그러나 부모 구성 요소와 함께 ChangeDetectorRef를 삽입하고 자식 구성 요소의 dailog를 열면 콘솔에서 ChangeDetectorRef에 대한 공급자가 표시되지 않고 대화 상자가 제대로 열리지 않고 왼쪽 끝으로 병합됩니다.

[ChangeDetectorRef] 블록의 app.module.ts 공급자에 ChangeDetectorRef 구성 요소를 추가하려고했지만 webstrom 및 angular cli의 오류가 파일을 컴파일하지 못했습니다.

HTML의보기 부분에서 반복되는 업데이트 모델 값을 얻으려면이 문제를 어떻게 해결할 수 있습니까?

@NgModule({ 

    declarations: [ 

    AppComponent, 
    LoginComponent, 
    ], 

imports: [ 

BrowserModule, 
BrowserAnimationsModule, 
CovalentLayoutModule, 
CovalentStepsModule, 
CovalentMenuModule, 
MdIconModule, 
MdSidenavModule, 
MdToolbarModule, 
MdButtonModule, 
MdListModule, 
MdMenuModule, 
MdGridListModule, 
FlexLayoutModule, 
routing, 
MdTabsModule, 
CovalentDataTableModule, 
CovalentSearchModule, 
CovalentPagingModule, 
CovalentLoadingModule, 
CovalentDialogsModule, 
MdSelectionModule, 
MdSelectModule, 
MdSlideToggleModule, 
HttpModule, 
CovalentDynamicFormsModule, 
ToastModule.forRoot()], 

entryComponents: 
[ 
AppDailogComponent, 
], 

providers: [ 
AjaxService,ChangeDetectorRef], 

bootstrap: [AppComponent] 
}) 

export class AppModule { } 

가 어떻게이 문제를 해결하려면 공급 업체에 ChangeDetectorRef을 추가 할 수 있습니다 같은

내 app.module.ts 보인다?

그러나 탐지를 변경 당신은 당신의 @Component 데코레이터에서 changeDetection을 포함하고이를 사용하여 시도 할 수 있습니다

+0

ChangeDetectorRef를 사용하여 구성 요소의 코드를 추가 할 수 있습니까? – Boulboulouboule

답변

0

사전에

덕분에 ... 어떤 프론트 엔드를위한 사랑스러운 작업입니다. 구성 요소를 잘 아는 경우이 ChangeDetectorRef.detectChanges()와 같이 로컬로 실행하는 것이 좋습니다 (AngularJS에서는 $ scope와 같음). $ digest()

전체에 대한 검색을 실행하려면 $ rootscope. $ apply와 같은 응용 프로그램은 NgZone.run (yourCallbackMethod)으로 이동하십시오.

또한 $ rootScope. $ apply()와 비슷한 것으로 생각되는 ApplicationRef.tick()을 사용할 수도 있습니다.

+0

제안 해 주셔서 감사합니다. 이 apporach는 이미 구현되었지만 성공하지 못했습니다. 그게 솔루션이기 때문에, dailog를 호출해야합니다 .AfterCloseAll() ** 함수는 dailog를 닫을 때 필요한 함수가 실행되게합니다. – ravisharma

관련 문제