[英]Call a function from an external JavaScript file in href with Symfony and Twig
我正在尝试使用Symfony和Twig从href中的外部JavaScript文件调用函数。
这是我的JavaScript文件pm.js
:
function test(id) {
alert(id);
}
这是我的模板:
{# templates/pm/pm.html.twig #}
{% extends 'base.html.twig' %}
{% block title %}{{ parent() }} | Private messaging{% endblock %}
{% block body %}
(...)
<a href="javascript:test({{ message.id }});">test</a>
(...)
{% endblock %}
{% block javascripts %}
{{ parent() }}
<script src="{{ asset('build/js/pm.js') }}"></script>
{% endblock %}
我怎样才能做到这一点? 感谢帮助。
发生这种情况是因为您使用的是已编译的pm.js
javascript文件(这就是我认为它存在于build/js
中的原因)。 如果您只是将pm.js
放置在公共js文件夹中而不进行编译,那么您的代码将可以按原样工作。
您的问题是编译后的函数不是全局函数。 您可以通过几种方法来克服这一问题,其中最简单的方法是:
window.test = function test(id) {
alert(id);
}
只需将您的函数test()分配给窗口变量window.test
,它将起作用。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.