두 모델에 바인딩 된 ko 데이터가있는 두 개의 테이블이 있습니다. 두 모델을 사용하여 데이터를 바인딩 할 수 있습니다.다른 viewmodel 클릭 이벤트에서 knockout viewmodel 업데이트
내 목표 (이 경우에 patientmodel) 모델 # 1의 행을 클릭하면
, 모델 # 2가 대응하는 데이터를 갱신한다.
문제점 : 모델 1의 Click 이벤트를 트리거 할 수 없습니다. echoMe가로 patientModel에 정의되어
<tbody data-bind="foreach: Patients">
<tr data-bind="click: $root.echoMe">
<td class="id"><a href="#" data-bind="text: patID"></a>
</td>
<td data-bind="text: patName"></td>
<td data-bind="text: patBirthDate"></td>
<td data-bind="text: patSex"></td>
</tr>
</tbody>
:
self.echoMe = function() {
console.log("able to trigger click !");
};
jsfiddle은 나에게 오류를 제공합니다 : 데이터와 뷰 자체를 채우는 동안에도
Message: Unable to process binding "click: function(){return $root.echoMe }"
이 나옵니다. 첫 번째가 표시되고 오류가 발생합니다.
저는 jfiddle에서 녹아웃 문서와 다른 예를 보았습니다.하지만 어젯밤 이후로 이것이 왜 씨를 위해 일하지 않는지 아직 알 수 없습니다.
Jsfiddle 코드 :
는 통찰력과 도움이 매우
http://jsfiddle.net/j9HJm/7/을 감사합니다.
감사합니다.
당신은'한 번 이상, 당신은 아마 제대로보기 모델을 구조화되지 않습니다()'ko.applyBindings를 호출하는 경우. – arb
예, 다시 바인딩하는 대신 업데이트 모델을 수행해야한다고 생각합니다. 하지만 지금 막 발견 한 것은 jsfiddle의 동일한 코드가 녹아웃에 대한 대화식 학습 자습서 (http://learn.knockoutjs.com/#/)를 통해 완벽하게 작동 할 때입니다. 클릭 이벤트가 발생하고 모델이 업데이트되었습니다. – Aparna
jsfiddle 코드를 업데이트하여 리바운드보다 뷰 모델을 새로 고칩니다. 그러나 knockoutjs.com 대화 형 tuts에서 원활한 코드 작업과 달리 여전히 클릭 이벤트는 발생하지 않습니다. – Aparna