계산 된 값을 가져 와서이 값을 관측 가능한 배열에 푸시하려고합니다. 단순한 값을 반환하는 웹 API 컨트롤러 - json 랩없이 순수한 숫자. 이것은 문제 일 수 있습니다. 내가 넉 아웃에 초보자로서 조언을주십시오. 오후 8시 30 분 P.S. 다른 api의 컨트롤러를 호출하기 때문에 두 가지 아약스 호출이 있습니다.Knockout.js 관측 가능 배열에 대한 관측 가능치가 계산 됨
function GrafikViewModel(grafikUri) {
var self = this;
self.books = ko.observableArray();
self.PaxLeft = ko.computed(function() {
ko.utils.arrayForEach(self.books(), function (book) {
$.getJSON("/api/orders/getpax/" + book.kodg, function (item) {
self.books().push(item);
});
}, GrafikViewModel)
});
$.getJSON(grafikUri, function (data) {
self.books(data.$values);
});
}
당신은이 부작용으로 계산하려면 아래 http://knockoutjs.com/documentation/observableArrays.html#manipulating-an-observablearray에서 (섹션의 "observableArray 조작을")에 대한 두 페이지를 모든 "미러링"기능의 목록을 찾을 수 있습니까? 확실합니까? BTW에서는 여기서 순환 의존성을 만들었습니다. 계산식은 '책'을 변경하고 '책'의 변경 사항에 반응합니다. 당신이 잘못된 길을 가고 있다고 생각합니다. 실제로 무엇을하려고하는지 설명하십시오. – Tomalak
부작용의 의미는 무엇입니까? 당신이 옳은 순환 의존성에 대해서. 나는 그것을 자기가되도록 바꿔야 만한다 .PaxLeft (이것은 ko.observable이다)? 실제로 내 목표는 두 개의 다른 컨트롤러에서 데이터를 가져와 togeyther 동일한 observableArray에 넣어. –
첫 번째 아약스 전화에 대해 생각하고 있습니다. 제어기가 순수한 정수 값을 반환하는 문제가 될 수 있습니까? –