Как я могу вызвать функцию JavaScript в проекте Blazor PWA?Javascript

Форум по Javascript
Ответить
Гость
 Как я могу вызвать функцию JavaScript в проекте Blazor PWA?

Сообщение Гость »


Я пытаюсь использовать html-шаблон Прогрессивное веб-приложение в моем серверном проекте Blazor.

Последние 4 дня у меня возникли большие проблемы с этим, поскольку все меню и анимация шаблона реализованы с помощью JavaScript в одном файле custom.js > имеющий следующую структуру.


Изображение


В файле _Host я поместил соответствующее включение

Я заметил, что если я создаю компонент бритвы (из шаблона Menu_Settings) и помещаю его в файл _Host, он работает так, как ожидалось, если он помечен как статический.

Странные вещи происходят (на самом деле ничего), если я помещаю тот же компонент на страницу MainLayout.razor.

По этой причине я попытался использовать прием Javascript Runtime, чтобы творить чудеса. (Если это связано с моей проблемой)

@inherits LayoutComponentBase @inject IJSRuntime JSRuntime Привет, мир @Тело @код{ частный IJSObjectReference js {get; набор; } защищенное переопределение асинхронной задачи OnAfterRenderAsync (bool firstRender) { если (первый рендер) { пытаться { js = await JSRuntime.InvokeAsync("import", "./scripts/custom.js"); await JSRuntime.InvokeVoidAsync("init_template"); } поймать (Исключение ex) { //Logger.LogError($"Не удалось загрузить модуль JS. Ошибка: {ex}"); } } } } И теперь у меня есть две проблемы.
[*]Компонент по-прежнему отказывается работать (должно появиться всплывающее меню). [*]Я получаю сообщение об ошибке Не удалось найти «init_template» («init_template» не определено). при вызове InvokeAsync.
Я также пытался отредактировать файл custom.js таким же образом, но с той же ошибкой..


Изображение


Кстати, я также пробовал использовать Blazor WebAssembly с теми же проблемами.

Есть какие мысли?
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Javascript»