webentwicklung-frage-antwort-db.com.de

Übergeben Sie die Variable von twig an js

Gibt es eine Möglichkeit, Variablen von twig an die Javascript-Datei zu übergeben, die im öffentlichen/js-Verzeichnis des Bundles liegen. Oder muss ich meine Variablen in template zuweisen und dann meine Skriptdatei einfügen, in der vars verwendet werden sollen?

10
nowiko

Weisen Sie die Variable in der Vorlage zu und holen Sie sie mit Javascript ab ...

<script>
var foo = '{{ foo }}';
alert(foo);
</script>
21
fire

Eine andere Möglichkeit, ohne Ihre Javascript-Datei als Vorlage verwenden zu müssen, besteht darin, den JavaScript-Wert als data-*-Attribut zu haben und diesen Wert dann aus Ihrer Javascript-Datei abzurufen. Dies würde bedeuten, dass Ihr Javascript nicht unbedingt an Ihre Zweigdatei gekoppelt ist.

<a href="#" data-id="{{ entity.id }}" id="some-link">Link</a>

Mit jQuery ..

var id = $('#some-link').data('id');

Mit regelmäßigem Javascript (denke ich) ..

var id = document.querySelector('#some-link').dataset.id;
21
qooplmao

Sie können dies in Ihrem Zweig verwenden

<script type="text/javascript">
    /* <![CDATA[ */
    var settings = {
        example: {{ 'something' | trans }}
        }
    };
    /* ]]> */
</script>

dann können sie in ihren js darauf zugreifen:

console.log(settings.example);
0
numediaweb