无法获取主干模型提取的结果
Cannot get the result of the Backbone model fetch
我的模型urlRoot:
urlRoot: function() {
if (this.id != null ) {
return 'notes/' + this.id;
} else return 'notes';
}
功能:
window.show_note = function (note_id) {
var note = new Memo.Models.Note([], { id: note_id });
note.fetch({
success: function (collection, note, response) {
var noteObj = collection.get("0");
var noteView = new Memo.Views.FullNote( {model: noteObj }, {flag: 0 } );
$('.content').html(noteView.render().el);
}
});}
{id: note_id} -我将此发布到服务器以获得id注释我想在一个又一个音符上做'set'或'get'功能。取回回调函数-成功,但只有我是错误:'Uncaught TypeError:注意。
如果我这样做:'var noteObj = collection.get("0");'我得到了我需要的,但我仍然不能使用get或set。
您应该将urlRoot
设置为:
urlRoot: '/notes'
骨干网会计算出它需要将id
添加到url中。(文档)
假设Memo.Models.Note
是一个模型而不是一个集合,上面的代码片段应该是这样的:
window.show_note = function(note_id) {
var note = new Memo.Models.Note({ id: note_id });
note.fetch({
success: function (model, response, options) {
var noteView = new Memo.Views.FullNote({
model: model
}, {flag: 0 });
$('.content').html(noteView.render().el);
}
});
};
注意传递给new Memo.Models.Note
的参数。骨干模型构造函数接受两个参数:attributes
和options
(docs),而集合接受models
和options
(docs)。因此,您需要添加带有id
属性的散列作为第一个参数。
还要注意success
回调的函数签名。对于一个模型,success
回调有三个参数:model
, response
和options
(docs)。您将对model
参数感兴趣,因为它是获取的主干模型。response
为原始响应数据。
我希望我的假设是正确的,这就是你正在寻找的答案。
相关文章:
- 奇怪的Javascript结果
- Javascript(jQuery)给了我奇怪的结果
- JSONP请求返回结果,但也触发error_callback
- 如何从合并的结果集中提取数组
- Regex模式匹配,从Javascript中的字符串中提取时间,结果出乎意料
- 如何在javascript中匹配和提取正则表达式中的部分结果
- 从谷歌地图网址中提取路线结果
- 如何存储一个对象数组,这些对象是 ajax 查询从 javascript 中的 JSON 中提取数据的结果
- 如何从谷歌地图API返回的结果数组中提取城市名称
- 如何访问主干集合的提取结果
- 主干提取不返回结果
- 进行 ajax 调用,如果不是所需的结果,则提取一个值,然后继续重复,直到达到所需的结果
- 如何从脚本结果中提取文本
- DOMDocument->无法从href中提取结果
- MongoDB聚合:如何提取结果中的字段
- 无法获取主干模型提取的结果
- 使用Jquery从结果中提取内容
- Imacros firefox通过结果和提取循环
- Mongojs从两个集合中提取数据并合并结果
- 提取 JSON 对象结果的某些部分