(실제 변경 후) get the new value of an observable in a subscribe event에 대한 해결책이 있지만 "beforeChange"구독에서 관찰 가능 항목의 새 값에 액세스 할 수 있는지 궁금합니다."beforeChange"구독에서 관찰 가능 항목의 새 값 얻기
if (computedObservable.isDifferent(state.latestValue, newValue)) {
if (!state.isSleeping) {
computedObservable["notifySubscribers"](state.latestValue, "beforeChange");
}
state.latestValue = newValue;
if (DEBUG) computedObservable._latestValue = newValue;
if (state.isSleeping) {
computedObservable.updateVersion();
} else if (notifyChange) {
computedObservable["notifySubscribers"](state.latestValue);
}
changed = true;
}
분명히 NEWVALUE는 "beforeChange"에서 확인할 수 있도록 : 아래
는 current version of Knockout (3.4.1)의 조각 이전 값과 각각 새 값으로 beforeChange 및 afterChange 가입 핸들러를 제기하다 나는 포크가 옵션 일 것이라고 생각하지만, 나는 그렇게하지 않는 것을 좋아한다."beforeChange"라는 새로운 값을 얻는 다른 해결책이 있습니까?
설정하기 전에 새로운 값을 가져 오는 이유에 대해 자세히 설명해 주실 수 있습니까? –
@MichaelBest 나는 FOUC를 막으려 고하고 있습니다. 실제로 값을 설정하기 전에 새 값을 읽을 수 있으면 뷰의 원하지 않는 중간 렌더링을 방지하기 위해 다른 상태를 업데이트 할 수 있습니다. –
계산 또는 구독을 사용하여 다음과 같이 사용할 수있는 두 번째 관찰 가능 항목을 업데이트 할 수 있어야합니다. 숨기기/표시/스타일. 예 : https://jsfiddle.net/dmnqoc53/ – user3297291