0

我正在尝试将从 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);
    }
})
4

1 回答 1

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);
     });
},
于 2013-02-04T12:21:20.020 回答