获取结果未定义(主干.js)
fetch result is undefined (Backbone.js)
var ListView = Backbone.View.extend({
el: $('hello'),
initialize: function() {
var stuff = new FieldCollection();
var output;
stuff.parse();
stuff.fetch({
success: function (collection, response) {
console.log(response);
output=response;
return response;
}
});
this.render(output);
},
render:function(output){
console.log(output);
$(this.el).append("<button id='add'>hiii</button>");
$(this.el).append("<button id='removeAll'>Remove all list item</button>");
}
});
在这里,我试图在变量中捕获响应output
值......但它即将"未定义"。 有什么想法我错了吗?
fetch
方法是异步的,因此在使用它时尚未分配output
变量。 尝试将render
调用放在成功回调中:
var self = this;
stuff.fetch({
success: function (collection, response) {
console.log(response);
output=response;
self.render(output);
return response;
}
});
考虑到
您的设置,dbasemans解决方案是正确的。但是,我宁愿将事件处理程序绑定到"重置"事件。这需要在获取之前进行。这更干净,并且也适用于稍后在应用程序运行时进一步获取。
相关文章:
- 如何在主干js中解析视图中的消息
- 根据屏幕大小显示主干.js集合的子集
- 将View中的项添加到数组中(主干.js)
- 主干.js集合不迭代
- 主干.js视图不会在页面加载时显示,但可以在控制台中与 jQuery 配合使用
- 获取结果未定义(主干.js)
- 主干.js事件处理程序命名的最佳做法
- 将表单对象保存到具有主干.js的模型
- 主干.js将 url 参数传递给集合
- 主干.js(具有 Require.js)变量/范围访问问题
- 模型未在主干.js中呈现
- 主干.js:为每个模型添加验证
- 主干.js绑定到集合“添加”呈现视图两次
- 单击事件以排除子项(主干.js)
- Jquery没有'不要与合作!文本插件需要带主干的js
- 单击事件在触发一次主干js后停止工作
- 主干.js更改模型的 url 参数,提取不会更新获取的数据
- 嵌套依赖主干.js具有 require.js 主干的视图.js导致视图作为对象而不是函数加载
- AdBlock 块需要 js / 主干代码(锁定整个页面)
- 需要 JS 主干 JS jQuery 模板标记依赖