Cum de referință locale JS module în Blazor componente?

0

Problema

Pe Dotnetconf două săptămâni în urmă am auzit că acum este posibil să se includă locale Javascript fișiere în Blazor componente. Asta suna foarte interesant. Cred că abordarea este încă de a utiliza JSIniterop și de referință modulul de fișier.

DAR cum a face tu de referință JS fișiere ??? Am incercat toate creative posibile variante, dar până acum fără succes.

Sunt surprins de Google peste tot, dar nu găsesc nici ghiduri sau proba inca pe asta. Toate sfaturi sunt apreciate.

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

Cel mai bun răspuns

1

Puteți crea .cod js fișiere de lângă .aparat de ras.cs fișier și încărcați acest fișier în execuție. E descris aici. De asemenea, am găsit o prezentare de această caracteristică aici și repo github aici.

Să zicem că ai avea ComponentA cu ComponentA.razor, ComponentA.razor.cs și ComponentA.razor.js fișiere în Pages folder. Puteți încărca acest modul în componenta de inițializare astfel:

[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");
}

Dar dacă o componentă este definită într-o componentă de bibliotecă de proiect, atunci va trebui să utilizați diferite calea de fișier. De exemplu, dacă proiectul dumneavoastră este numit AppComponents apoi, această cale ar fi ./_content/AppComponents/ComponentA.razor.js.

2021-11-20 14:42:26

Am urmat proba, dar încă obține aceeași excepție. Poate nu este posibil de componentă personalizată în alt folder decât pagini? Eroare: Microsoft.JSInterop.JSException: nu a Reușit să-i aducă importate dinamic module: localhost:5000/_content/ProjectName/Componente/Comune/...
Jakob Lithner

În alte limbi

Această pagină este în alte limbi

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