Jak referenční místní JS modulů v Blazor komponenty?

0

Otázka

Na Dotnetconf před dvěma týdny jsem slyšel, je nyní možné zahrnout místní Javascript soubory v Blazor komponenty. To zní velmi zajímavé. Myslím, že tento přístup je ještě k použití JSIniterop a referenční modul soubor.

ALE jak to, že odkaz na JS soubor ??? Zkoušel jsem všechny možné kreativní varianty, ale zatím bez úspěchu.

Jsem překvapen, Google všude, ale najít žádná vodítka, nebo ještě vzorek na to. Všechny rady jsou vítány.

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

Nejlepší odpověď

1

Můžete vytvořit .js kód souboru vedle .břitva.cs soubor a načíst tento soubor v runtime. Je to popsáno zde. Také jsem zjistil, prezentace tato funkce tady a github repo tady.

Řekněme, že máte ComponentA s ComponentA.razor, ComponentA.razor.cs a ComponentA.razor.js soubory v Pages složky. Můžete nahrát tento modul během součásti inicializace jako tak:

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

Ale pokud je vaše složka je definována v knihovně součástí projektu, pak budete muset použít jinou cestu k souboru. Například pokud váš projekt je pojmenován AppComponents pak je tato cesta by ./_content/AppComponents/ComponentA.razor.js.

2021-11-20 14:42:26

Sledoval jsem svůj vzorek, ale ještě dostat stejné výjimkou. Možná, že to není možné z vlastní komponentu v jiné složce, než stránky? Chyba: Microsoft.JSInterop.JSException: Nepodařilo se načíst dynamicky dováženého modulu: localhost:5000/_content/ProjectName/Složek/Common/...
Jakob Lithner

V jiných jazycích

Tato stránka je v jiných jazycích

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