骨架模型.获取非设置值
Backbone model.fetch not setting values
这是我的主干模型构造器
define([], function(){
return Backbone.Model.extend({
urlRoot:'/dummy-api/Instances',
defaults:{
name:null,
read:false,
write:false
},
initialize: function () {
this.fetch();
console.log("after init "+this.get("id")+" name="+this.get("name"));
}
})
});
和/dummy-api/Instances/1是已经把这个
{"id":1,"name":"bangladesh"}
我用这个
将这个模型附加到一个视图上define(['models/instance.js'], function(Model){
View = Backbone.View.extend({
initialize: function() {
this.model = new Model({
id:1
});
});
return new View();
});
URL正在被调用,它的内容如上所述,我可以在firebug中看到,但是"name"没有被设置。我知道我可以提供一个解析函数,因为我使用的是sequeize -rest -extended,我可能需要这样做,但我首先希望backbone从一个固定的文件中读取和设置。文档已经足够直接了,我所拥有的应该可以工作,那么我是否做了其他不好的事情呢?
在模型之前记录值。取回已完成
设置一个回调,在获取成功完成后记录值,它应该像预期的那样工作。
define([], function(){
return Backbone.Model.extend({
urlRoot:'/dummy-api/Instances',
defaults:{
name:null,
read:false,
write:false
},
initialize: function () {
this.fetch({
success: function() {
console.log("after init "+this.get("id")+" name="+this.get("name"));
}.bind(this)
});
}
})
});
这是必要的,因为this.fetch()
异步执行XMLHttpRequest,并继续执行下一行代码,而该请求由浏览器在单独的"线程"中执行(出于所有意图和目的)。
相关文章:
- Haxe Javascript:在不使用Reflect的情况下按名称获取和设置属性
- 在Javascript ES6 Map中获取或设置元素
- 在node.js中使用JavaScript从JSON对象获取和设置文本内容
- javascript可以获取或设置打印机信息
- 从每个父对象获取attr,并为每个子对象设置attr
- 如何从区域设置获取日期格式
- jquery-plugin-1配置设置从另一个配置设置获取值
- 从控制器设置/获取服务中的数据
- 设置/获取文本节点值的方法
- 如何使用jQuery设置/获取全值隐藏字段
- 是否有一种非闪存方法来设置/获取 WebKit 中的剪贴板数据
- 在javascript中设置/获取样式高度
- Javascript:通过元素ID设置/获取元素
- 如何在使用Javascript设置/获取值时使日期时间字段与时区无关
- 在Node.JS中设置/获取env
- JavaScript对象设置/获取参数
- 使用cookie设置/获取输入值
- 访问chrome.storage.local的问题.从options.html中设置/获取
- 设置/获取动态自定义属性
- Javascript帮助设置/获取每个输入元素的本地存储数据