click:
이벤트의 데이터를 다른 div로 전달해야합니다. 다음은 시나리오입니다.KnockoutJS : 클릭 이벤트 데이터를 div에 전달
페이지의 한쪽에 링크가 있습니다.
<a data-bind="text: Name, click: $root.editAction"></a>
페이지의 반대쪽에는 숨겨진 div가 있습니다.
<div data-bind="if: $root.editActionShow">
<input type="text" data-bind="value: Name"/>
</div>
가 나는 click:
이벤트에서 $data
을 통과 숨겨진 사업부를 할 수 있어야합니다.
아마도 나는이를 너무 생각하고,하지만 내 viewModel
는 viewModel.DataGroups.DataGroup.ActionDataGroup
에 깊이 묻혀 다양한 Actions
가지고 행동 정보를 편집 할 수있는 단지 1 HTML 양식이있다, 그래서 형태는 것을 보여 만드는 방법을 알아낼 수 없습니다 하나의 특정 작업을 편집하고 싶습니다.
다음은 또 다른 키커입니다. 내 관찰 결과를 내 viewModel
에 추가하지 않는 것이 좋습니다. 이유는 내가 .toJS()
끝까지 매핑 한 다음 JSON을 XML로 변환해야하기 때문에 꽤 엄격한 스키마에 대해 유효성을 검사해야하므로 여분의 요소가있는 것이 나쁜 것입니다. 변환 전에 수동으로 제거하지 않으면 유효성 검사를 통과하지 못합니다. 그러나 개체를 viewModel
에 추가 할 수 있습니다. 변환 중에 .toJS()
이이를 제거하기 때문입니다.
UPDATE : 모든이에
Aaand 솔루션은 아래 재미 손에게 있습니다
viewModel.editAction = function(data) {
viewModel.editActionFormShow(true);
ko.applyBindings(data, $('#myHiddenDiv')[0]);
};
Anzeo, 솔루션을 작성하는 데 시간을내어 주셔서 감사합니다. 이것은 내가 원하는 것만은 아니지만,해야 할 일에 대한 이념을 제공합니다. 편집 할 필요가있는 데이터의 양은 단지 하나의 관측 가능 데이터 그 이상이므로이 작업을 수행하기 위해 사용자 지정 바인딩을 작성합니다. 예를 들어 주셔서 다시 한번 감사드립니다! – solefald
@solefald, 됐습니다. 다행스럽게 도울 수있어! – thomaux