簡體   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