繁体   English   中英

使用Symfony和Twig从href中的外部JavaScript文件调用函数

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM