ProgramingTip

Knockout.js를 사용하여 특정 위치에서 ObservableArray 항목을 추가 / 삽입하는 방법

bestdevel 2020. 10. 24. 11:20
반응형

Knockout.js를 사용하여 특정 위치에서 ObservableArray 항목을 추가 / 삽입하는 방법


내가 모든 녹 녹 예제는 다음과 같은 것을 사용하여 ObservableArray 끝에 새 항목을 추가하는 것입니다.

viewModel.SomeItems.push(someNewItem);

이것은 물론 배열의 끝에 항목을 배치합니다.

특정 위치에서 ObservableArray에 항목을 추가하는 방법은 무엇입니까?

예. 같은 것 :

viewModel.SomeItems.push(someNewItem, indexToInsertItAt);

여분의 자바 splice메소드 를 사용할 수 있습니다.

viewModel.SomeItems.splice(2,0,someNewItem);

여기 문서 -https : //developer.mozilla.org/en/JavaScript/Reference/Global_Objects/Array/splice

여기 예 (녹아웃 특정 아님)- 전면 녹아웃에서 배열에 항목을 삽입하는 방법은 무엇입니까?

녹아웃 문서에서-

push 및 splice와 같이 배열의 내용을 수정하는 기능의 경우 KO의 메서드는 등록 된 모든 리스너에게 변경 사항을 알리고 UI가 자동으로 업데이트 된 추적을 자동으로 트리거합니다.


녹아웃 용

viewModel.SomeItems.unshift(someNewItem);

참조 : http://knockoutjs.com/documentation/observableArrays.html


나는 나를 위해 잘 작동하는이 확장 기능을 만들었습니다. 스파 스 배열의 끝에 추가하는 경우 Splice가 작동하지 않습니다.

ko.observableArray.fn.setAt = function(index, value) {
    this.valueWillMutate();
    this()[index] = value;
    this.valueHasMutated();
}

이것은 다음과 함께 작동합니다.

var a = ko.observableArray(['a', 'b', 'c']);
a.setAt(42, 'the answer');

참고 URL : https://stackoverflow.com/questions/7317907/how-to-add-insert-an-item-into-an-observablearray-at-a-certain-position-with-kno

반응형