1
내 뷰 모델은 어떤 이유로 인해 하나의 데이터 바인딩 요소 만 업데이트하지만 다른 요소는 업데이트하지 않습니다.Observable value update는 바인딩 된 하나의 요소를 변경하지만 다른 요소는 변경하지 않습니다.
signUpModel.fullNameActive
값 다음은 input
에 blur
및 focus
이벤트를 통해 변경 :
<span data-bind="text: signUpModel.fullNameActive"></span>
이 업데이트되지만 다음
<p class="inputTip" data-bind='visible: signUpModel.fullNameActive'>
Enter your first and last name
</p>
가 없습니다. 왜 그런가요?
페이지를 처음 열면 작동하지 않는 요소가 표시되고 숨겨진 다음 표시됩니다. 3 번 변경된 것 같습니다. 이 뷰 코드와
var signUpModel = new SignUpModel();
$(document).ready(function() {
ko.applyBindings(signUpModel);
});
function SignUpModel() {
this.userID = ko.observable("");
this.userName = ko.observable("");
this.fullName = ko.observable("");
this.fullNameActive = ko.observable(false);
this.sex = ko.observable("");
this.dateOfBirth = ko.observable("");
this.emailAddress = ko.observable("");
this.profileImage = ko.observable("");
this.levelID = 1;
}
는 :
<div class="fieldContainer">
<span data-bind="text: signUpModel.fullNameActive"></span>
<input type="text" data-bind="event: {blur: function(){signUpModel.fullNameActive(true)}, focus: function(){signUpModel.fullNameActive(false)} }, value: signUpModel.fullName, valueUpdate: 'afterkeydown'" maxlength="40" id="inputFullName" />
<div class="inputHelp">
<p class="inputTip" data-bind='visible: signUpModel.fullNameActive'>
Enter your first and last name</p>
<p class="isRequired" data-bind='fadeVisible: signUpModel.fullName().length < 1 || signUpModel.fullName().replace(/\s/g,"") == ""'>
Gotta enter something</p>
<p class="isGood" data-bind='fadeVisible: signUpModel.fullName().length > 1 && signUpModel.fullName().replace(/\s/g,"") != ""'>
This is exciting <span id="personsName" data-bind="text: signUpModel.fullName"></span>
</p>
</div>
</div>
안녕 RP, 응답 해 주셔서 감사합니다! 그래서 나는 fadeVisible bindingHandler를 가졌지 만 작동하지 않아 나는 단지 보이기 위해서 노력했다. 그것은 역시 작동하지 않았다. 이제는 내 fadeVisible을 제공 한 버전으로 업데이트했고 작동합니다.하지만 왜 보이지 않는가? 제발 도와주세요. ') –
그냥 보이는 것을 사용하는 데 문제가 없어야합니다. 다른 일이 일어나야합니다. 다음은 보이는 것을 사용하는 샘플입니다 : http://jsfiddle.net/rniemeyer/f3XMN/2/. 문제를 재현하고 업데이트를 눌러 새로운 링크를 얻을 수 있는지 확인하십시오. –
안녕하세요 RP, jsfiddle에서 재생할 수 없습니다. 그것은 정확히 똑같은 코드입니다. 유일한 차이점은 다른 녹아웃 뷰 모델을 가진 부분이 있다는 것입니다. 속성은 동일하지 않습니다. 나는 모른다. 다시 볼 수는 있지만 작동하지 않지만 fadeVisible은 작동합니까? –