답변:
전체 viewModel에서 무언가를 호출 할 수는 없지만 관찰 가능한 개별 개체에서 myObservable.valueHasMutated()
가입자에게 재평가해야한다는 사실을 알리기 위해 호출 할 수 있습니다 . 언급 한 것처럼 KO에서는 일반적으로 필요하지 않습니다.
myViewModel.valueHasMutated()
전체 뷰를 업데이트하기 위해 호출 할 수 있습니다.
경우에 따라 바인딩을 제거한 다음 다시 적용하는 것이 유용 할 수 있습니다.
ko.cleanNode(document.getElementById(element_id))
ko.applyBindings(viewModel, document.getElementById(element_id))
내 bindHTML knockout 바인딩 핸들러로 JSFiddle을 만들었습니다 : https://jsfiddle.net/glaivier/9859uq8t/
먼저 바인딩 핸들러를 자체 (또는 공통) 파일에 저장하고 녹아웃 후 포함합니다.
이것을 사용하면 바인딩을 이것으로 전환하십시오 :
<div data-bind="bindHTML: htmlValue"></div>
OR
<!-- ko bindHTML: htmlValue --><!-- /ko -->
valueHasMutated
유형 의 속성 을 가진 요소를 검색하고 각 요소function
에 대해이를 호출 할 수 있습니다. 그것은 모든 관측 가능 항목을 가져와야하지만 나쁜 습관이며 예상보다 훨씬 많은 업데이트를 발생시킬 수 있습니다 (계산 된 종속성 체인을 생각하십시오).