Electron и Angular обновление содержимого

Я пытаюсь вызвать Api электрона из ангуляра. Для тестирования я написал следующий код: electron.ts:

import {app,BrowserWindow,BrowserWindowConstructorOptions, ipcMain} from 'electron'
let window:any = null
app.whenReady().then(()=>{
    const options:BrowserWindowConstructorOptions = {
        width:300,
        height:600,
        title:"test",
        show:false,
        webPreferences: {
            nodeIntegration: true,
            contextIsolation : false
        }
    }
    window = new BrowserWindow(options)

    window.loadFile('some path')
    window.webContents.on('did-finish-load',()=>{
        window.show()
        ipcMain.on('test',(value)=>{
           window.webContents.send('test2')
         
        })
    })
})

app-component.html:

<div *ngIf='__flag'><h1>Test</h1>
    <button (click)='clickFunction()'>Test button</button>
</div>

app-component.ts:

import { Component, OnInit } from '@angular/core';
import { Router } from '@angular/router';
import { ElectronService, NgxElectronModule } from 'ngx-electron';

@Component({
  selector: 'app-component',
  templateUrl: './app-component.html',
})
export class AppComponentComponent implements OnInit {
  
  __flag:boolean = true

  constructor(private route:Router, private elect:ElectronService) { }

  ngOnInit(): void {
  }
  
clickFunction(){
  this.elect.ipcRenderer.send('test')
  this.elect.ipcRenderer.on('test2',()=>{
    this.__flag=false
    console.log(this.__flag);
    
  })
}
}

Я пытаюсь заставить блок исчезнуть, при нажатии на кнопку. Но он исчезает только, если 2 раза нажать на кнопку. В чем проблема и как исправить?


Ответы (0 шт):