Estoy usando un archivo wasm con pegamento js que funciona bien cuando se usa el botón una vez que se carga wasm. Quería hacerlo reactivo a una de las variables. La función específica tiene la forma density = function (temperature, pressure) donde la presión es una matriz fija [10,20..1200] y la temperatura está vinculada al control deslizante. ¿Cómo hago que la función esté disponible para que sea reactiva de modo que a medida que cambia la temperatura, la densidad se actualice de forma reactiva? Probé onMount pero claramente, no sé cómo usarlo ya que no pude hacerlo funcionar. Además, no estoy seguro de si ese es el enfoque correcto.
El código es el siguiente:
<script> import DensityPlot from './DensityPlot.svelte' let pressure = 1200, temper=20, rho =[], dens, press1; const range = (start, stop, step = 1) => Array(Math.ceil((stop - start) / step)).fill(start).map((x, y) => x + y * step) pressure = range(10,2000,1) $:temper = temper // make temperature reactive function density(temp, press){ rho = press.map(d=>{return Module.PropsSI('D', 'T', (temp+273.15), 'P', d*6894.76,'Xenon' )}) } $:rho = rho //trying to make it reactive but as currently coded doesn't work // Data passed to plotting component (plotly) DensityPlot.svelte $: data = [{ x: pressure, y: rho, mode: "lines+markers", name: temper, type: "scatter", }] </script> <label> <input type=range bind:value={temper} min={0} max={50}> <p>Temperature is {temper} deg C</p> <p>Wait a few seconds for wasm to load </p> </label> <button on:click={density(temper,pressure)}> <p>Click for density </p> </button> <div> <h2>Density Plot</h2> {#if data.length > 0} <DensityPlot {data} /> {/if} </div>Cualquier ayuda es apreciada.