loadurl - Pasando datos a Windows en Electron
electronjs doc (1)
Para enviar eventos a una ventana en particular, puede usar webContents.send(EVENT_NAME, ARGS)
( ver documentos ). webContents
es una propiedad de una instancia de ventana:
// main process
storeWindow.webContents.send(''store-data'', store);
Para escuchar el envío de este evento, necesita un oyente en un proceso de ventana (procesador):
// renderer process
var ipcRenderer = require(''electron'').ipcRenderer;
ipcRenderer.on(''store-data'', function (event,store) {
console.log(store);
});
Estoy aprendiendo Electron y trabajando con múltiples ventanas y IPC. En mi guión principal tengo lo siguiente:
var storeWindow = new BrowserWindow({
width: 400,
height: 400,
show: false
});
ipc.on(''show-store-edit'', function(event, store) {
console.log(store);
storeWindow.loadURL(''file://'' + __dirname + ''/app/store.html'');
storeWindow.show();
});
Y en el script de mi ventana principal, tengo lo siguiente dentro de un evento de clic en una lista de tiendas:
$.getJSON("http://localhost:8080/stores/" + item.id).done(function(store) {
ipc.send(''show-store-edit'', store);
});
En la consola, estoy imprimiendo los datos de la tienda desde mi servidor. Lo que no tengo claro es cómo obtener esos datos en la vista de mi storeWindow:store.html
. Ni siquiera estoy seguro de estar manejando la secuencia de eventos correctamente, pero serían:
- haga clic en Editar tienda
- obtener datos de la tienda del servidor
- abrir una nueva ventana para mostrar los datos de la tienda
o
- haga clic en Editar tienda
- abrir una nueva ventana para mostrar los datos de la tienda
- obtener datos de la tienda del servidor
En este último, no estoy seguro de cómo obtendría la ID necesaria para recuperar la tienda desde el storeWindow''s
.