54 votes

Ajouter une classe à ember link-to

J'essaie de construire un lien vers un imbriquée de la route et souhaitez ajouter une classe à ce lien (pour twitter bootstrap)

Le résultat devrait ressembler à ça:

< a href="http://stackoverflow.com/#/rents/42" class="btn btn-primary btn-small">do something< /a>

Premier essai:

{{#link-to "rent" rent}}

donne moi un lien vers la ressource mais je ne peut pas spécifier un style en cascade (css) de la classe. Dans les docs que j'ai de voir que seulement l'attribut title peut être spécifié

Deuxième essai:

< a href="http://stackoverflow.com/#/rents/{{rend.id}}" class="btn btn-primary btn-small">do something< /a>

est également une mauvaise idée, parce que la Braise va ajouter son helper balises [pour les mises à jour automatiques] dans le href.

Que puis-je faire?

110voto

sly7_7 Points 9504

Je pense que l'auxiliaire link-to est un assistant de vue, donc je suppose que l'utilisation de {{#link-to "rent" rent classNames="btn btn-primary btn-small"}}Go to rent{{/link-to}} devrait fonctionner

10voto

Connor Points 7403

Vous pouvez ajouter des classes très bien dans {{#linkTo}} assistants, il vous suffit de vous rappeler de ne pas confondre ember.

Ember peut penser que votre classe représente les routeName des params , j'inclus la classe après les deux params et routeName et tout fonctionne bien.

 {{#linkTo 'dashboard.screenshots' value.model class='thumbnail'}}
   ........
{{/linkTo}}
 

Produit

 <a id="ember507" class="ember-view thumbnail" href="#/project-2/member-1/task-2/screenshot-30">
   .........
</a>
 

1voto

sashasimkin Points 11

Si vous voulez construire manuellement quelque chose à partir de variables, il y a {{unbound}} helper dans ember.js.

Dans votre cas, le code ressemblera à ceci:

 <a href="http://stackoverflow.com/#/rents/{{unbound rend.id}}" class="btn btn-primary btn-small">
   do something
</a>
 

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X