MVC客户端控制器成功方法中的Extjs 4.1无法调用此控制器中的另一个函数

时间:2012-11-28 04:53:27

标签: grails extjs

我正在使用grails 2.1.0和extjs 4.1.0。现在我在成功方法面临一些问题。问题出现在下面的代码注释中。任何人都可以帮助我:

 onupdateOrder : function(invoiceid, payMethod, rebatevalue){        
    if(invoiceid > 0){
        Ext.Msg.confirm('Update Product', 'Are you sure?', function (button) {
            if (button == 'yes') { 
                var invoice = Ext.create('Ext4Example.model.Invoice',{
                    id        : invoiceid,
                    rebate    : rebatevalue,
                    paymethod : payMethod
                });

                invoice.save({
                    success: function(model) {
                        var inId = model.getId();
                        this.updateOrder(invoiceid); //warning:this.updateOrder is not a function 
                    },
                    failure: function(){                           
                        console.log('Unable to save/update');
                    }
                });
            }
        }, this);
    }else{
        Ext.Msg.alert("Please Give Invoice Id");
    }
},
updateOrder :function(invoiceid){         
    var order = Ext.create('Ext4Example.model.Order',{
        id  : invoiceid
    });
    order.save({
        success: function(order) {
            console.log(invoiceid);
            Ext.getCmp('InvoiceNo').setValue(invoiceid);
            Ext.getCmp('itemform2').restoreItem();
        },
        failure: function(){
            console.log('Unable to update');
        }
    });
}

1 个答案:

答案 0 :(得分:3)

您需要指定

scope: this

在invoice.save()方法上,以便回调在控制器范围内运行。