103 votes

Comment avoir plusieurs attributs de liaison de données sur un élément?

J'ai besoin d'avoir plusieurs liaisons de données sur un seul élément. Par exemple, je veux un href ainsi qu'un html de la liaison de données sur un a balise. J'ai essayé ceci,

<a data-bind="html: name" 
   data-bind="attr: { href: url }" 
   data-bind="attr: { 'data-prop': xyz }">
</a>

Mais cela ne fonctionne pas. Il semble knock-out prend uniquement en charge la liaison de l'un data-bind de la propriété? Comment se lier à la fois l' href, à l'intérieur html, et une coutume "data-prop" attribut sur un élément?

141voto

paulslater19 Points 3125

Comme ça:

 <a data-bind="html: name, attr: { href: url }">
 

Vous utilisez des liaisons séparées par des virgules - l'attribut est identique à la transmission d'un objet:

 {
    html: name, 
    attr: { href: url }
}
 

Ou, si vous parlez de plusieurs liaisons attr à la fois:

 <a data-bind="html: name, attr: { href: url, 'data-prop': FullName }">
 

3voto

aamir sajjad Points 1101

Voici comment j'ai mis en œuvre l'attribut source et l'événement click à l'aide de la liaison de données. Vous pouvez peut-être le trouver utile.

 <img data-bind="{click: function(data, event) { ESVendorWidget.loadFunction(data,event) },  attr: { src: $data.Photo.PhotoUrl }}"
                        alt="package pic" class="big" />
 

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