本文是個人學習extjs除錯程式心得,有錯請指正,謝謝指教!
寫這篇文章的初衷是因為學習extjs有了大半年的時間,從問問題到可以解答一些常識性問題過程中意識到,很多新手在問問題的時候都只是問結果為什麼不是想的那樣,包括我自己剛開始。其實問問題是一門又學問的事,知道問題點在那裡在去問 這樣可以事半功倍,別人也樂於為你解答。在這裡我就簡單的說一下extjs 在除錯上 我是怎麼查詢問題的。(extjs 不同於輕量級的框架,需要一些js,jquery方面的基礎)
問題型別1:為什麼我加的元件不顯示。
拜託!..你加的元件不顯示我怎麼知道。我還得幫你捋一捋你的思路,所以很多新人問這個問題的時候都是沒人願意回應的,因為解決起來很麻煩,很多種可能性。下面我就帶來我的除錯方法。首先開啟瀏覽器的除錯框,如下圖:
然後如果沒有報錯還不顯示怎麼辦呢? 接下來我們就要檢查是新增元件本身的問題,還是父元件相容問題。
1.很簡單 還記得你寫的第乙個ext介面麼,把你的元件抽出來 單獨顯示在乙個頁面上。如果可以顯示就可能是父元件的問題,但是是否是相容問題,還要進行一步。如果不現實就是你元件本身的問題,請參考api進行更改,主要檢查自己新增的屬性會給元件帶來什麼樣的影響。(熟悉api非常重要)
2.用系統元件代替你的自定義元件,api上的例子直接複製到你的元件的**上就可以了,比如你自定義的combobox不顯示,那就用api上的combobox,如果api上的例子可以顯示那麼就是你定義的combobox的問題,一般常規的配置參考api(自己定義的屬性要知道是用來做什麼的,再次宣告api非常重要),如果系統元件也無法顯示那麼就是父元件的相容性問題了,一般是用搜尋引擎可以找到常見的問題答案,同時父元件如無特殊要求應該盡量使用自身不帶有布局屬性或者特殊屬性的容器(如panel,container,component)。
問題型別2:為什麼後台的值在前台無法顯示?
拜託!你總得告訴我值到**了,有沒有傳回前台,前台有沒有請求後台的值。下面就是我在這一型別問題上的解決方法
2.如果沒報錯,那麼前台是否發請求去後台請求值&請求是否有效,如果沒有傳送請求,那就是你元件請求的問題(仔細檢查store,ajax,ext.request.etc..)。
3.是否後台報錯,是否請求超時。如果有自行檢查後台**(多寫除錯語句對新手很重要)
4.如果請求收到了資料,請檢查資料格式和內容是否和你要的資料格式是一致的。
5.前台是否解析到了你的資料,檢查fields或者model或者直接物件取屬性,鍵值對是否一致。
6.前台元件資料標識是否與fields或者model一致,如一般元件資料標識是『name』,grid中的列資料標識是『dataindex』。
7.如果上述都可以,還是無法解決就只能自求多福了。(注:用法不對產生的問題,不算extjs本身的bug)
問題型別3:流程性問題
拜託!流程性問題很耗時間,可能性也很多,大家都是工作的 都很忙ok?
遇到流程性問題 應該自己先有個資料處理的流程,心中大致有個流程圖 然後在動手 ,具體的技術上問題再去詢問 大家都會樂意為你解答。
以上純屬個人見解,如果有異議
哈哈,打死我啊,來打死我啊。
RSLidar除錯過程
一 上位機除錯 windows版為硬碟版,免安裝,執行bin目錄下rsview.exe ubuntu下執行sh啟動指令碼執行 注意事項 1.速騰雷射預設的ip為192.168.1.200,目的位址為192.168.1.102。如與實際不一致,可通過wireshark抓包看一下。將本機位址改到目的ip...
有趣的除錯過程
有人說,程式設計師寫 的能力一定要強,如果寫 不行,錯誤百出,那他除錯能力一定要強。總之,兩個優勢中至少要占有乙個,否則寫 又爛,自己又改正不了,豈不是糟糕至極。本人不才,寫 經常丟東拉西,每次檢查自己的程式,幾乎都能發現新的bug。在驚喜不斷的同時,也鍛鍊了我臨危不懼的神經。開始我很害怕發現程式的...
windows Service 之除錯過程
最近第一次用c 寫了乙個windows service 其實實現的內容比較簡單。就是啟動remoting 連線,但是除錯相對初次寫windws service 的我來說,比較煩。沒有經驗,而且沒辦法像除錯其他windows 程式一樣設定斷點,無法看到執行過程。經過檢視一些相關資料後,有了一點點除錯的...