2014-12-09 13 views
8

Dalgayı, bundle öğesinin public/js dizininde yer alan javascript dosyasına geçirmenin bir yolu var mı. Ya da değişkenlerimi şablona atamam ve sonra vars kullanılacak nerede script dosyamı eklemem gerekiyor? Bir şablon bir data-* özellik olarak javascript değere sahip olacağı gibi kalmadanAktarım değişkenini twig - js arasında geçiş

cevap

19

şablonunda değişkeni atama ve javascript ile onu almak ...

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

başka bir yolu da JavaScript dosyası var ve daha sonra bunu javascript dosyanızdan alın. Bu, javascript'inizin mutlaka twig dosyanıza eklenmeyeceği anlamına gelir. jQuery ile

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

.. düzenli javascript (Bence) ile

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

..

var id = document.querySelector('#some-link').dataset.id; 
0
Sen dal halinde kullanabilirsiniz

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

o zaman js'nizde erişebilirsiniz:

console.log(settings.example); 
İlgili konular