저는 Knockout.js를 처음 접했고 지금 상황에 직면하고 있습니다. 어떻게해야 제대로 처리 할 수 있는지 알 수 없습니다. 것은 : 나는 아약스를 통해 검색하는 객체들을 가지고있다. 결과는 다소 다음과 같이 될 것입니다 :knockout.js로 중첩 배열을 관리하고 렌더링하는 방법은 무엇입니까?
내가 지금까지했던 어떤var Objects = [ { id: 0, name: "Foo", type: "A" },
{ id: 1, name: "Bar", type: "B" },
{ id: 1, name: "Bar", type: "A" }, ... ];
(간체) :
var ViewModel = function() {
var self = this;
self.objects = ko.observableArray(Objects);
};
가 지금은 자신의 "유형"에 따라 다른 목록에 해당 개체를 렌더링 할 필요가있다. 따라서 "A"유형의 객체 목록과 "B"유형 객체에 대한 목록이 있습니다 (현재 5 가지 유형이 있지만 앞으로 추가 될 수 있습니다).
var ViewModel = function() {
var self = this;
self.objects = ko.observableArray(Objects);
self.objectsA = ko.computed(function() {
return ko.utils.arrayFilter(self.objects(), function(item) {
return (item.type == 'A');
});
});
self.objectsB = ...
self.objectsC = ...
};
그리고 내 실제보기 :이 문제를 해결하기 위해 더 나은 방법이
<h1>Type A</h1>
<ul class="typeA" data-bind="template: { name: 'object', foreach: objectsA }"></ul>
<h1>Type B</h1>
<ul class="typeB" data-bind="template: { name: 'object', foreach: objectsB }"></ul>
있습니까
나는이 (작업) 솔루션을 함께 왔어요? 이것은 작동하지만 약간 추한 것이지, 실제로는 역동적 인 것은 아니며 많은 반복을 포함합니다.
덕분에 모든 것이 훨씬 명확 해졌습니다. 나는 이걸로 갈거야! – Niko