gpt4 book ai didi

javascript - knockout.js 不映射来自 json 的可观察数组

转载 作者:行者123 更新时间:2023-11-29 22:10:49 25 4
gpt4 key购买 nike

无法将 json 映射到可观察数组。我使用教程中的代码 ( http://learn.knockoutjs.com/ )。

function Movie(data) {
this.name = ko.observable(data.name);
this.description = ko.observable(data.description);
this.duration = ko.observable(data.duration);
this.id = ko.observable(data.id);
this.imdb_id = ko.observable(data.imdb_id);
this.original_name = ko.observable(data.original_name);
this.poster = ko.observable(data.poster);
this.type = ko.observable(data.type);
this.year = ko.observable(data.year);
}

function MovieListViewModel() {
// Data
var self = this;

self.moviesArray = ko.observableArray([]);
self.searchQuery = ko.observable();

self.searchMovies = function () {
$.getJSON("/api/v1/movies/search/", {"query": self.searchQuery }, function(allData) {
var mappedMovies = $.map(allData.movies, function(item) { return new Movie(item) });
console.log(mappedMovies); // in this line output: [Movie, Movie, Movie, Movie, Movie, Movie]

self.moviesArray(mappedMovies);
console.log(self.moviesArray); // in this line output: []
});
};
}

ko.applyBindings(new MovieListViewModel());

我不明白哪里出了问题。

附言对不起我的英语

最佳答案

这个

{"query": self.searchQuery }

应该是

{"query": self.searchQuery() }

这个

console.log(self.moviesArray)

应该是

console.log(self.moviesArray())

关于javascript - knockout.js 不映射来自 json 的可观察数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18118784/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com