2013-01-07 139 views
0

我想覆盖基础模型类,因此它会影响我所有的模型。我基本上需要一个地方,我检查任何操作错误,所以我可以处理它,而不是在所有地方重复我的代码,以防万一我的任何模型出现错误,我可以管理它:extjs模型覆盖

Ext.override(Ext.data.Model, { 
    listeners: { 
     failure: function (proxy, response, operation) { 
      if(!operation.success) { 
       Ext.Msg.alert('An error occurred', operation.error); 
      } 
     } 
    } 
}); 

问题是它没有对失败做任何事情。最后,我正在加载我的overrides.js文件。

+0

这是因为'Model'没有一个“失败”事件。你可以在'Ext.Ajax'中覆盖那个单独的'Ext.data.Connection',检查:[Ext.Ajax](http://docs.sencha.com/ext-js/4-1/#! /api/Ext.Ajax) – VoidMain

+0

忘记了这一点。太多工作。谢啦。请张贴您的答案,以便我可以授予它。 –

回答

0

这是因为Model没有'失败'事件。

可以覆盖在Ext.Ajax至极是单身Ext.data.Connection, 检查文档为Ext.Ajax

例子:

Ext.Ajax.on('requestexception', function (conn, response, options, eOpts) { 
     Ext.Msg.alert('An error occurred'); 
    });