Symfony 4 Javascript函数未定义

时间:2018-03-17 20:58:18

标签: symfony webpack symfony4 webpack-encore

我创建了一个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>

单击anchor元素时,控制台中会显示以下错误:

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

我认为由于某些原因我无法从app.js访问这些功能,但我对webpack的了解不足以了解其原因

1 个答案:

答案 0 :(得分:0)

尝试

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