Dans un Grails taglib J'utilise le constructeur de balisage pour la création d'un balisage qui ressemble à ceciDévelopper les propriétés des objets comme des attributs balisage
a(href: '#', class: 'show-modal', properties) {
mkp.yield '+'
}
Dans ce cas propriétés est un ensemble en forme de propriétés d'objet: {data-internet=true, data-desc=Lorem ipsum}
J'ai besoin d'étendre les propriétés en tant qu'attributs de données html5. pour obtenir quelque chose comme ça.
<a href="#" class="show-modal" data-internet=true, data-desc=Lorem ipsum>
En ce moment, au lieu de cela, je reçois ce résultat
<a href="#" class="show-modal">{data-internet=true, data-desc=Lorem ipsum}+</a>
C'est un Grails taglib échantillon:
def test = { attrs ->
MarkupBuilder markupBuilder = new MarkupBuilder(out)
Map properties = ['data-internet': true, 'data-desc': 'Lorem ipsum...']
markupBuilder.a(href: '', properties) {
mkp.yield 'More info'
}
}
Lorsque d'une vue que je Render <g:test/>
je reçois ceci:
<a href="">{data-internet=true, data-desc=Lorem ipsum...}More info</a>
Et je m'y attendais:
<a href="" data-internet='true', data-desc='Lorem ipsum...'>More info</a>
Merci pour votre temps et pour une idée
Pouvez-vous changer votre exemple afin qu'il puisse être exécuté et afficher la sortie que vous dites y Vous obtenez? –
Merci @tim_yates. Je viens d'ajouter un échantillon – user615274
Pas à un ordinateur, mais avez-vous essayé l'opérateur spread-map: 'markupBuilder.a (href: '', *: propriétés)' –