J'ai besoin de plusieurs liaisons de données sur un élément. Par exemple, je veux un href
ainsi qu'un html
liaison de données sur na
. J'ai essayé ça,
<a data-bind="html: name"
data-bind="attr: { href: url }"
data-bind="attr: { 'data-prop': xyz }">
</a>
Mais ça ne marche pas. Il semble que knock-out ne prend en charge que la liaison ndata-bind
, Propriété? Comment lier à la fois le href
, le html
intérieur et un attribut personnalisé "data-prop
" Sur un élément?
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 }">
Voici comment j'ai mis en œuvre l'attribut source et l'événement click à l'aide de la liaison de données. Vous pourriez le trouver utile.
<img data-bind="{click: function(data, event) {ESVendorWidget.loadFunction(data,event)},
attr: {src: $data.Photo.PhotoUrl }}"
alt="package pic" class="big" />
vous pouvez utiliser plusieurs propriétés en utilisant ,
comme ci-dessous
<a data-bind="attr: { href: url, id: id , class: classvalue}">
objet comme ça
{ url: 'http://stackoverflow.com', id:'newid' , classvalue: 'classname' }
J'utilise simplement:
<input type="checkbox"
data-bind="click: callFunction(), checkedValue: 0, checked: Card.Days">
pour un élément de case à cocher.