Quelqu'un a-t-il des modèles propres pour placer les variables php dans la portée js?Portée PHP -> Modèle de portée Javascript?
Deux façons que j'ai fait auparavant est de l'injecter avec un appel réel du modèle de base à l'intérieur d'un wrapper prêt pour le document.
(jQuery/templates Smarty)
{literal}
$(document).ready(function() {
TargetClass.targetVar = {/literal}{$phpVar}{literal};
});
{/literal}
également à la mise en une étiquette et en tirant que du DOM une fois que la JS exécute.
HTML
<link id="phpVar" value="{$phpVar}" />
JS
var phpVar = $('#phpVar').attr('value');
.
L'un d'entre vous a-t-il trouvé une meilleure méthode?
Hmm ouais, intéressant. Je n'ai jamais vraiment besoin de pousser autant de données dans la portée de JS, donc je n'ai jamais pensé à utiliser JSON dans le template. En fait une bonne idée. Nettoyeur. Merci. – Spot
oh, aussi vous pouvez vous débarrasser de ce document.ready stuff, et juste définir un js global. Vous avez la valeur avant que le js soit même analysé, ainsi vous n'avez pas besoin d'attendre quoi que ce soit avant de pouvoir le définir. Simplement: var fromphp = $ js_val (où $ js_val est développé par PHP) – JasonWoof
Ouais, bon point. Merci. – Spot