Функция Symfony 4 Javascript не определена

Я создал app.js (и app.scss) для использования с Symfony Encore.

└───assets
    ├───css
    │   └───app.scss
    └───js
        └───app.js

app.js:

/**
 * Name: app.js
 * Desc: Main application javascript
 */

var $ = require('jquery');
require('bootstrap-sass');
require('../css/app.scss');

// Initialize tooltips
$(function () {
  $('[data-toggle = "tooltip"]').tooltip()
});

var openLoginModal = function(element){
    $('#login-modal').modal('show');
}

В одном из моих шаблонов я хочу иметь возможность установить событие onclick для вызова функции openLoginModal, определенной в app.js.

<a class = "btn btn-info navbar-btn navbar-right" data-toggle = "login-modal" onclick = "openLoginModal(this)">Login</a>

При щелчке по элементу привязки в консоли отображается следующая ошибка:

Uncaught ReferenceError: openLoginModal is not defined
    at HTMLAnchorElement.onclick ((index):29)

Я предполагаю, что по какой-то причине я не могу получить доступ к функциям из app.js, но я недостаточно знаю о webpack, чтобы понять, почему это

Попробуйте сменить var openLoginModal на Window.prototype.openLoginModal. Я считаю, что вы пытаетесь получить доступ к глобальной функции, но ваш скрипт находится внутри модуля webpack.

Iwan Wijaya 18.03.2018 09:34

Я только что ответил на это здесь stackoverflow.com/a/49316775/9083959

lukas-reineke 18.03.2018 14:19
Стоит ли изучать PHP в 2026-2027 годах?
Стоит ли изучать PHP в 2026-2027 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Symfony Station Communiqué - 7 июля 2023 г
Symfony Station Communiqué - 7 июля 2023 г
Это коммюнике первоначально появилось на Symfony Station .
Symfony Station Communiqué - 17 февраля 2023 г
Symfony Station Communiqué - 17 февраля 2023 г
Это коммюнике первоначально появилось на Symfony Station , вашем источнике передовых новостей Symfony, PHP и кибербезопасности.
Управление ответами api для исключений на Symfony с помощью KernelEvents
Управление ответами api для исключений на Symfony с помощью KernelEvents
Много раз при создании api нам нужно возвращать клиентам разные ответы в зависимости от возникшего исключения.
3
2
1 747
1

Ответы 1

попробуй это

(function ($, window)
{
   window.openLoginModal = function(element){
       $('#login-modal').modal('show');
   }
}(jQuery, window);

Другие вопросы по теме