Come riferimento locale JS moduli Blazor componenti?

0

Domanda

Su Dotnetconf due settimane fa ho sentito è ora possibile includere file Javascript in Blazor componenti. Che sembra molto interessante. Credo che l'approccio di usare JSIniterop di riferimento e i file del modulo.

MA come si fa a riferimento il file JS ??? Ho provato tutte le possibili varianti creative, ma finora senza successo.

Sono sorpreso di Google ovunque ma trovo nessuna guida o esempio di sicurezza su questo. Tutti i suggerimenti sono graditi.

blazor components interop javascript
2021-11-19 15:22:16
1

Migliore risposta

1

È possibile creare .js file di codice a fianco .rasoio.cs file e caricare il file in fase di runtime. È descritto qui. Inoltre, ho trovato la presentazione di questa funzione qui e repo github qui.

Diciamo che hai ComponentA con ComponentA.razor, ComponentA.razor.cs e ComponentA.razor.js i file in Pages cartella. È possibile caricare questo modulo durante componente di inizializzazione in questo modo:

[Inject]
public IJSRuntime JS { get; set; }

private IJSObjectReference module { get; set; }

protected override async Task OnInitializedAsync()
{
    module = await JS.InvokeAsync<IJSObjectReference>("import", "./Pages/ComponentA.razor.js");
}

Ma se il componente è definito in una libreria di componenti di progetto, è necessario utilizzare diversi file di percorso. Per esempio, se il progetto è denominato AppComponents quindi, questo percorso potrebbe essere ./_content/AppComponents/ComponentA.razor.js.

2021-11-20 14:42:26

Ho seguito il tuo esempio, ma ancora ottenere la stessa eccezione. Forse non è possibile da un componente personalizzato in altra cartella di pagine? Errore: Microsoft.JSInterop.JSException: non è Riuscito a recuperare dinamicamente modulo importato: localhost:5000/_content/Nomeprogetto/Componenti/Comune/...
Jakob Lithner

In altre lingue

Questa pagina è in altre lingue

Русский
..................................................................................................................
Polski
..................................................................................................................
Română
..................................................................................................................
한국어
..................................................................................................................
हिन्दी
..................................................................................................................
Français
..................................................................................................................
Türk
..................................................................................................................
Česk
..................................................................................................................
Português
..................................................................................................................
ไทย
..................................................................................................................
中文
..................................................................................................................
Español
..................................................................................................................
Slovenský
..................................................................................................................