我创建了一个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的了解不足以了解其原因
答案 0 :(得分:0)
尝试
(function ($, window)
{
window.openLoginModal = function(element){
$('#login-modal').modal('show');
}
}(jQuery, window);