本文是我的学习Extjs调试程序心得,有错请指正,谢谢指教!html
写这篇文章的初衷是由于学习Extjs有了大半年的时间,从问问题到能够解答一些常识性问题过程当中意识到,不少新手在问问题的时候都只是问结果为何不是想的那样,包括我本身刚开始。其实问问题是一门又学问的事,知道问题点在那里在去问 这样能够事半功倍,别人也乐于为你解答。在这里我就简单的说一下Extjs 在调试上 我是怎么查找问题的。(Extjs 不一样于轻量级的框架,须要一些js,jquery方面的基础)
jquery
问题类型1:为何我加的组件不显示。ajax
拜托!..你加的组件不显示我怎么知道。我还得帮你捋一捋你的思路,因此不少新人问这个问题的时候都是没人愿意回应的,由于解决起来很麻烦,不少种可能性。下面我就带来个人调试方法。首先打开浏览器的调试框,以下图:api
看看程序是否报错,报错的缘由是什么,报错在那个文件,那段代码。通常只看本身添加组件所在js的错误信息(关于如何查找到准确的错误信息自行百度)浏览器
而后若是没有报错还不显示怎么办呢? 接下来咱们就要检查是添加组件自己的问题,仍是父组件兼容问题。框架
1.很简单 还记得你写的第一个Ext界面么,把你的组件抽出来 单独显示在一个页面上。若是能够显示就多是父组件的问题,可是是不是兼容问题,还要进行一步。若是不现实就是你组件自己的问题,请参考api进行更改,主要检查本身添加的属性会给组件带来什么样的影响。(熟悉api很是重要)布局
2.用系统组件代替你的自定义组件,api上的例子直接复制到你的组件的代码上就能够了,好比你自定义的combobox不显示,那就用api上的combobox,若是api上的例子能够显示那么就是你定义的combobox的问题,通常常规的配置参考api(本身定义的属性要知道是用来作什么的,再次声明api很是重要),若是系统组件也没法显示那么就是父组件的兼容性问题了,通常是用搜索引擎能够找到常见的问题答案,同时父组件如无特殊要求应该尽可能使用自身不带有布局属性或者特殊属性的容器(如Panel,Container,Component)。学习
问题类型2:为何后台的值在前台没法显示?搜索引擎
拜托!你总得告诉我值到哪里了,有没有传回前台,前台有没有请求后台的值。下面就是我在这一类型问题上的解决方法spa
1.首先你要知道你的组件有没有报错,若是报错请参考上面的浏览器调试或者自行百度报错缘由。
2.若是没报错,那么前台是否发请求去后台请求值&请求是否有效,若是没有发送请求,那就是你组件请求的问题(仔细检查store,ajax,ext.request.etc..)。
若是请求报403,501等错误自行百度解决。
3.是否后台报错,是否请求超时。若是有自行检查后台代码(多写调试语句对新手很重要)
4.若是请求收到了数据,请检查数据格式和内容是否和你要的数据格式是一致的。
5.前台是否解析到了你的数据,检查fields或者model或者直接对象取属性,键值对是否一致。
6.前台组件数据标识是否与fields或者model一致,如通常组件数据标识是‘name’,grid中的列数据标识是‘dataIndex’。
7.若是上述均可以,仍是没法解决就只能自求多福了。(注:用法不对产生的问题,不算extjs自己的bug)
问题类型3:流程性问题
拜托!流程性问题很耗时间,可能性也不少,你们都是工做的 都很忙ok?
遇到流程性问题 应该本身先有个数据处理的流程,心中大体有个流程图 而后在动手 ,具体的技术上问题再去询问 你们都会乐意为你解答。
以上纯属我的看法,若是有异议
哈哈,打死我啊,来打死我啊。