web-dev-qa-db-ja.com

1つの要素に複数のデータバインド属性を設定する方法

1つの要素に複数のデータバインディングが必要です。たとえば、hrefおよびonehtmlタグのaデータバインディングが必要です。私はこれを試しました、

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

しかし、これは機能しません。ノックアウトはバインディングのみをサポートしているようですonedata-bindプロパティ? href、内部html、およびカスタムの「data-prop "1つの要素の属性?

92
user960567

このような:

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

コンマ区切りのバインディングを使用します-属性はオブジェクトを渡すのと同じです:

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

または、複数のattrバインディングについて一度に尋ねる場合:

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

これが、データバインドを使用してソース属性とクリックイベントを実装する方法です。役に立つかもしれません。

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

以下のように,を使用して複数のプロパティを使用できます

<a data-bind="attr: { href: url, id: id , class: classvalue}">

このようなオブジェクト

{ url: 'http://stackoverflow.com', id:'newid' , classvalue: 'classname' }
1

私は単に使用します:

<input type="checkbox"
    data-bind="click: callFunction(), checkedValue: 0, checked: Card.Days">

チェックボックス要素の場合。

1
chris