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