gpt4 book ai didi

backbone.js - Backbone Model.fetch 返回数据但不更新模型

转载 作者:行者123 更新时间:2023-12-04 14:15:18 26 4
gpt4 key购买 nike

从服务器获取我的模型时遇到问题。我在 chrome 开发工具中看到从服务器返回的正确 JSON,但模型没有用返回的值更新。

var listtemplate = new ListTemplateModel.Model({id: id});
listtemplate.fetch();

此时我在 Chrome 开发工具中看到了正确的数据。这是从服务器返回的内容:

{
"title": "模板一",
"id": "template_one",
“脚步”: [
{
"description": "我喜欢它",
“身份证”:1,
"created_at": "2012-12-24T18:01:48.402Z"
},
{
"description": "这是垃圾!",
“身份证”:1,
"created_at": "2012-12-24T18:01:48.402Z"
}
],
"created_at": "2012-12-24T18:01:48.402Z"
}

但是控制台记录 JSON 只显示默认值和模型创建过程中传入的 id。

console.log(listtemplate.toJSON());

这将返回:

{id:“template_one”,标题:“”,步骤:数组[0]}


我的模型看起来像这样(我使用的是 Require.js,因此模型已重命名为上面的 ListTemplateModel)

var Model = B.Model.extend({
默认值:{
标题: '',
编号:0,
脚步: []
},
urlRoot: 'xxx'
});

有任何想法吗?

编辑
@Amulya 的回答让我走上了正确的道路,然后我发现了“然后”。希望这可以帮助遇到相同问题的人:

listtemplate.fetch().then(function(){
//更新 View
});

最佳答案

原因可能是因为您没有等待提取完成。尝试这个:

var listtemplate = new ListTemplateModel.Model({id: id});
listtemplate.fetch({
success: function() {
// fetch successfully completed
console.log(listtemplate.toJSON());
},
error: function() {
console.log('Failed to fetch!');
}
});

关于backbone.js - Backbone Model.fetch 返回数据但不更新模型,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14025415/

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