在parse.com中使用回调函数时,如何保留范围?

大卫

因此,当用户单击按钮时,我正在视图中调用函数。该函数需要一个回调函数。我在同一视图中定义了回调。当回调被调用时,我想使用刚刚获得的其他信息来渲染当前视图。但是,似乎您在回调函数中失去了作用域,因此在调用this.render()时出现错误。说“全局对象没有方法渲染”。因此,“ this”现在是指窗口对象。如何在我的视野范围内保留范围?因此,这里有一个我正在谈论的例子。

var profileView = Parse.View.extend({
    events: {
        "click #scan_item": "scanItem"
    },
    scanItem: function(){
        ScanItem(callback);
    },
    callback: function(info){
        this.render(info);
    },
    render: function(info){
        $(this.el).html(this.template({info: info}));
        return this;
    }
});
乔恩·库克

您需要将回调绑定到正确的“ this”

可能的工作:

ScanItem(this.callback.bind(this))

(我不知道此框架是否具有绑定功能)

否则,老派:)将其保留在封闭范围内的变量中

var that=this;
ScanItem(function(info){
  that.callback(info)
});

为什么传递给scanItem的函数需要被定义为好像是“方法”一样?并且它是否必须知道要传递的参数-为什么不将所有参数都传递呢?

var that=this;
ScanItem(function(){
  that.render.apply(that,arguments);
});

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

在熊猫中使用parse_dates时,如何保留日期和时间列?

来自分类Dev

在TableView中使用parse.com图像时出错

来自分类Dev

在函数回调中使用回调

来自分类Dev

反序列化字符串时,JSON.parse是否调用回调?

来自分类Dev

如何在Codeigniter中使用回调函数

来自分类Dev

如何在ReactJS Hooks中使用回调函数

来自分类Dev

如何在Codeigniter中使用回调函数

来自分类Dev

如何结束在Matlab中使用回调的函数?

来自分类Dev

如何在 angular 4 中使用回调函数?

来自分类Dev

如何在 JavaScript 的其他函数中使用回调?

来自分类Dev

如何在Android的Parse.com中使用“关系”列

来自分类Dev

如何在ParsePy中使用parse.com会话令牌?

来自分类Dev

如何在parse.com中使用deleteAll

来自分类Dev

当绑定函数可以删除时如何安全使用回调

来自分类Dev

Parse.com-Parse.Object.extend(...)属性

来自分类Dev

Parse.com-Parse.Object.extend(...)属性

来自分类Dev

在Google Geocode中使用回调函数

来自分类Dev

在Google Geocode中使用回调函数

来自分类Dev

在 Cassandra 中使用回调函数

来自分类Dev

Parse 云代码使用 Parse 3.0.0 定义

来自分类Dev

在angular js中使用$ parse

来自分类Dev

在SimpleDateFormat#parse()中使用〜

来自分类Dev

在Python中使用回调时出错

来自分类Dev

Parse.com查询

来自分类Dev

使用回调函数“每个”时出错

来自分类Dev

如何使用Parse.com ParseRelation

来自分类Dev

如何使用Parse.com填充UIPickerView

来自分类Dev

如何从parse.com使用MySQL?

来自分类Dev

使用Parse时发生NullPointerException