我刚开始学习秘银,我正在尝试编写一个与 RESTful API 交互的简单前端。但是,当我在浏览器中加载它时,浏览器每秒向“/posts”发出 < 30 个 GET 请求!我不确定这是否是我的代码中的错误或秘银如何工作......我怎样才能让 m.request 在整个代码中发出一次请求,或者任意更新 Post.list?
var Post = {
model: function(data) {
data = data || {};
this.id = m.prop(data.id);
this.text = m.prop(data.text);
this.rating = m.prop(data.rating);
this.created_at = m.prop(data.created_at);
this.url = m.prop(data.url);
this.title = m.prop(data.title);
this.user_id = m.prop(data.user_id);
},
list: function() {
return m.request({
method: "GET",
url: "/posts/",
type: Post.model
});
}
}
var PostIndex = {
controller: function() {
this.posts = Post.list();
},
view: function(ctrl) {
return [
m("table.table", [ m("tbody", [
ctrl.posts().map(function(post) {
return m("tr", [
m("td.heading", { onclick: m.route('/posts/' + post.id) }, [
post.title,
m("small", post.url)
]),
m("td", [ m("small", post.user + ": " + post.created_at) ])
]);
})
])])
];
}
};