2012-11-05 2 views
0

안녕하세요knockout.js 모델이 템플릿을 업데이트하지 못하게하는 방법.

<span id="myText" data=bind="text: name">default value</span> 

내가

var model = { 
    name = ko.observable(""); 
} 
ko.apply(model); 

그러나, 나는 값이 "기본값은"변경하지 않으 등으로 값을 초기화 할 수 있도록하려면 다음과 같은 필드를 가지고있다. 나는 원래의 가치를 보존하고 싶다.

어떻게해야합니까?

+0

값까지 유지 :

ko.bindingHandlers.textWithInit = { init: function(element, valueAccessor) { var observable = valueAccessor(); observable("innerText" in element ? element.innerText : element.textContent); }, update: ko.bindingHandlers.text.update }; 

당신이이에 처리 이상의 오류를 추가 할 수는

이 샘플 (핸들 & 비 obseravbles 등을 관찰 가능한) 이름이 바뀌 었습니까? 계산 된 값이나 소스가 비어 있지 않을 때까지 "기본값"을 읽는 특수 바인딩이 필요합니다. 템플릿이 요청하는 방식을 업데이트하지 못하게 할 수는 없습니다. – Tyrsius

답변

1

하나의 옵션은 사용자 지정 바인딩을 사용하여 요소의 현재 innerText에서 관찰 가능 항목을 채우는 것입니다. 같은

뭔가 : http://jsfiddle.net/rniemeyer/x4XJW/

관련 문제