2011-07-13 16 views
6

Czy ktoś ma eleganckie rozwiązanie do przekazywania wartości serwera do javascript (to nie jest wbudowane) w playframework? podobnie jak $ {x} lub & { „x”} wewnątrz htmlPlayframework: Elegancki sposób przekazywania wartości javascript

Obecnie mogę myśleć

<script type="text/javascript"> 
    var x= ${x}; 
    </script> 
    <script src="/public/javascripts/jsThatUsesX.js" type="text/javascript" ></script> 

myślę istnieje lepsze rozwiązanie od zaawansowania

Odpowiedz

2

To nie jest ładna, ale to tak jak ja zawsze kończy się to robić.

Jeśli wartości przekazywane do JavaScript opisują coś w DOM, można rozważyć użycie atrybutów danych HTML 5 do umieszczenia tych informacji w kodzie HTML. Następnie możesz go pobrać pod numerem getAttribute. na przykład Jeśli strona jest blogu i trzeba przechowywać identyfikator pocztowego można użyć

<div class="post" data-post-id="77"> 
    ... 
</div> 

ten sposób dane oddziela się od logiki i nie trzeba żadnych inline JavaScript. Możesz również użyć ukrytego pola formularza.

2

Co w tym złego ? Znalazłem się robi takie rzeczy jak

<script> 
    var trades = [${_trades.collect {models.Trade t -> t.price}.join(", ")}]; 
    // ... 
</script> 

Lubię to Groovy sposób;)

+0

Andre, Nic w tym złego :-). Uwielbiam Groovy. Chcę mieć możliwość przekazywania obiektów bezpośrednio do javascripts elegancko (i unikanie inline) – roshan

Powiązane problemy