나는 다음과 같은 파일이 있습니다각도 2의 양방향 전자 응용 프로그램의 초기로드 작동하지 바인딩
topnav.component.ts
import { Component } from '@angular/core';
import { EnvironmentService } from '../services/ipc/environment.service';
const { ipcRenderer } = electron;
@Component({
selector: 'app-topnav',
templateUrl: './topnav.component.html',
styleUrls: ['./topnav.component.scss']
})
export class TopnavComponent {
version: string = null;
constructor(private environmentService: EnvironmentService) {
this.environmentService.getVersionInfo();
ipcRenderer.on('environment-reply', (event, arg) => {
console.log(arg);
this.version = arg;
});
}
}
topnav.component.html
...
<div *ngIf="version">{{version}}</div>
...
을
코드에서 실행중인 환경에 대한 버전 정보를 검색하고 버전 속성을 업데이트하고 내보기에서 업데이트되도록 기대하고 있습니다. getVersionInfo() 호출은 비동기이며 전자에서 ipcMain 및 ipcRenderer 통신 구성을 사용합니다. 이들이 예상대로 작동하는지 확인할 수 있습니다. 각도도 전자도 오차가 없습니다.
버전이 실제로 arg param으로 돌아와 예상대로 콘솔에 기록되고 있음을 확인했습니다. 그러나, 내 애플 리케이션 주위를 탐색 할 때까지보기에서 나타나지 않습니다. 이로 인해 Angular 2의 구성 요소 수명주기 및 변경 감지와 관련이 있다는 것을 알게되었습니다. 그러나 Angular 2와 Electron 모두에 대한 초보자입니다.
무슨 일이 벌어지고 어떻게 해결할 수 있는지에 대한 조언이나 아이디어가 있으십니까?
고맙습니다. 그것은 완벽하게 작동했습니다. –
이 해결 방법은 작업을 수행하지만 매번이 run() 메서드를 호출해야합니다. 성공없이 여기에 설명 된 솔루션을 시도했습니다. http://stackoverflow.com/questions/41906986/two-way-data-binding - 2 -에서 - 전자 - 작동하지 않는 ... 정확히 무슨 각도 자바 스크립트 라이브러리 초기화 순서와 같은 영향을받는 영역을 인식하지 못하게 알고 좋을 것입니다 ... –
이 도움이 될 것 같아 https : // blog.thoughtram.io/angular/2016/02/01/zones-in-angular-2.html –