2017-09-19 2 views
0

Je l'ai utilisé <g:set> tag comme ceci:<g:set> la valeur de la variable n'est pas rendu correctement

<g:set var="extraStyle" value="style='min-width:120px;'"/> 

et utilisé la variable extraStyle comme ceci:

<div class="myClass" ${extraStyle}> ${myValue}</div> 

Et il devrait être rendu comme:

<div class="myClass" style="min-width:120px;"> XYZ </div> 

Mais, je reçois ce lieu:

<div class="myClass" style="'min-width:120px;'"> XYZ </div> 

En raison de laquelle, le style min largeur n'est pas appliquée. Qu'est-ce que je fais mal ici?

Version Grails: 3.1.6

+0

échapper le ' '': '' – injecteer

+1

ce qui se passe si vous supprimez le guillemet simple. value = "style = min-width: 120px;" – Djamware

+0

@Djamware étonnamment, en supprimant la citation unique travaillé. :) – sgiri

Répondre

2

Vous pouvez essayer de définir simplement la valeur de style par exemple

<g:set var="extraStyle" value="min-width:120px;"/> 

<div class="myClass" style="${extraStyle}"> ${myValue}</div> 
+0

Cela fonctionne mais, si je devais utiliser des conditions, cela échouerait. Par exemple, pour certaines conditions, si je ne veux pas le ''min-width = 120px'' le div serait rendu comme:'

XYZ
'. En tout cas merci pour la solution. :) – sgiri

2

Je pense que la réponse de Mike est correct, et bien que je ne connais pas le contexte de votre projet, je pense qu'il pourrait à long terme être préférable d'ajouter une classe dynamique à l'élément.

Quelque chose comme

<div class="myClass ${extraClass}">...</div>