将对象从事件函数作为参数传递给另一个事件函数

时间:2013-02-04 12:19:29

标签: javascript backbone.js backbone-events

我正在尝试将从func1中的服务器检索到的数据对象作为参数传递给func2,但不能按我的意愿工作,请参阅代码:

var MyView = Backbone.View.extend({
    el: $("#page"),
    events: {
        "click #button1" : "func1",
        "click #button2" : "func2"
    },
    ......................,

    func1: function(){
         var registData = {myData: "123"};
         // post registData to server
         $.post('/', registData, function(data){
         // server response with a data
          this.func2(data);
    },

    func2: function(data){
        console.log(data);
    }
})

1 个答案:

答案 0 :(得分:2)

回调中的

this不是定义func2的对象。

你可以这样做:

func1: function(){
     var that = this;
     var registData = {myData: "123"};
     // post registData to server
     $.post('/', registData, function(data){
         // server response with a data
         that.func2(data);
     });
},