[javascript] 하나의 요소에 여러 데이터 바인딩 속성을 갖는 방법은 무엇입니까?

한 요소에 여러 데이터 바인딩이 필요합니다. 예를 들어, 내가 원하는 href뿐만 아니라 html데이터 바인딩에 하나 개의 a 태그입니다. 나는 이것을 시도했다,

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

그러나 이것은 작동하지 않습니다. 녹아웃은 하나의 data-bind 속성 바인딩 만 지원하는 것 같습니다 . 하나의 요소 href에서, 내부 html및 사용자 정의 ” data-prop“속성을 모두 바인딩하는 방법은 무엇입니까?



답변

이렇게 :

<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 }">


답변

이것이 내가 데이터 바인딩을 사용하여 소스 속성과 클릭 이벤트를 구현 한 방법입니다. 유용 할 수 있습니다.

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


답변

나는 단순히 다음을 사용합니다.

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

체크 박스 요소의 경우.


답변

, 아래와 같이 여러 속성을 사용할 수 있습니다.

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

이런 물건

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


답변