2012-01-08 8 views
5

observableArray 안에 observable이 변경되면 observableArray에 대한 업데이트를 트리거하는 방법을 알아야합니다.내부 관찰 가능 변경시 KnockoutJS observableArray 업데이트

이진 트리를 나타내는 observableArray이 있습니다. 저장소 매핑 함수를 사용하여 배열의 값을 가져오고 설정하므로 비어있는 경우에만 observable 빈을 포함 할 수도 있습니다. 예 : 노드() [9] 어쩌면 널하지만 노드가 나는 nodes()[9](set new value)를 호출하고 실행할 필요가 업데이트 될 때 observableArray

답변

4

observableArray에서 .replace()를 사용하여 종료했습니다.

3

관련 observableArray.replace()

을 코드를 통해보고 찾을 관리 업데이트하려면 : How to replace a given index element in knockoutjs

+1

대체가 이상적입니다. 또 다른 옵션은 스플 라이스를 사용하여 항목을 꺼낸 다음 교체 항목을 밀어 넣는 것입니다.하지만 다시 바꾸는 것이 더 좋은 옵션입니다. –

+0

예. 스플 라이스를 사용하면 어떻게 올바른 위치에 다시 삽입 할 수 있습니까? – Ryan

+1

splice는 임의의 위치에서 요소를 추가, 제거 또는 추가 및 제거 할 수 있습니다. https://developer.mozilla.org/en/JavaScript/Reference/Global_Objects/Array/splice를 참조하십시오. 예를 들어'array.splice (3, 1, 'hello')'는 순수한 자바 스크립트에서 "replace"를 구현합니다. KO는 observableArrays에 추가적인 편리한 메소드를 제공합니다. 주어진 위치에 요소를 추가하는 또 다른 예는'array.splice (3, 0, 'hello', 'world')'입니다. – saurus

관련 문제