Comment référencer local JS modules dans Blazor composants?

0

La question

Sur Dotnetconf il y a deux semaines, j'ai entendu, il est maintenant possible pour inclure les fichiers Javascript dans Blazor composants. Ça a l'air très intéressant. Je suppose que la démarche est toujours d'utiliser JSIniterop de référence et le fichier de module.

MAIS comment faites-vous référence le fichier JS ??? J'ai essayé toutes créative possible les variantes, mais sans succès jusqu'à présent.

Je suis surpris de Google partout, mais pas trouver de guides ou de l'échantillon, mais sur ce point. Tous les conseils sont appréciés.

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

La meilleure réponse

1

Vous pouvez créer .js fichier de code à côté .de rasoir.cs fichier et charger ce fichier dans l'exécution. Il est décrit ici. Aussi j'ai trouvé la présentation de cette fonctionnalité ici et dépôt github ici.

Disons que vous avez ComponentA avec ComponentA.razor, ComponentA.razor.cs et ComponentA.razor.js les fichiers dans Pages dossier. Vous pouvez charger ce module au cours de l'initialisation du composant comme suit:

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

Mais si votre composant est défini dans un projet de bibliothèque de composants, alors vous devez utiliser différentes chemin d'accès au fichier. Par exemple, si votre projet est nommé AppComponents ensuite, cette voie serait ./_content/AppComponents/ComponentA.razor.js.

2021-11-20 14:42:26

J'ai suivi votre exemple, mais toujours obtenir la même exception. Peut-être qu'il n'est pas possible de composant personnalisé dans un autre dossier que de pages? Erreur: Microsoft.JSInterop.JSException: impossible de récupérer dynamiquement le module importé: localhost:5000/_content/Nom_projet/Composants/Common/...
Jakob Lithner

Dans d'autres langues

Cette page est dans d'autres langues

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