파일 내에서 요소 하나는 레이블이고 다른 하나는 입력 필드입니다.
<label class="reportNameTextBox" title="Click to edit report name" data-bind="text: Name() == null || Name().trim().length == 0 ? '[ Click to Enter Report Name ]' : Name(), css: { 'noData': Name() == null || Name().trim().length == 0 }"></label>
<input class="editInput" type="text" data-bind="value: Name" />
둘 다 Name 속성이있는 보고서 제목의 Knockout viewmodel에 바인딩됩니다.
뷰 모델 내에서 문자를 255로 제한하는 계산 된 관찰 가능 항목을 만들려고합니다.
report.Name = ko.computed(function () {
return report.Name().substring(0, 255);
});
내가 가진 문제는 계산 된 관찰 가능 항목을 만들기 전에 바인딩이 잘 작동한다는 것입니다. 입력 필드에 값을 입력하면 레이블에 반영됩니다. 일단 관찰 가능을 만들었습니다. 두 필드 간의 바인딩이 끊어졌지만 여전히 입력 필드 내에 유지됩니까?
내가 뭘 잘못하고 있는지에 대한 조언이 있습니까?
미리 감사드립니다
Observable과 동일한 이름으로 계산되었으므로 ko가이를 재정의합니다. 계산에 다른 이름을 사용하십시오 NameFormatted
.
report.NameFormatted = ko.computed(function () {
return report.Name().substring(0, 255);
});
이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.
침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제
몇 마디 만하겠습니다