2016-01-31 75 views
3

我們正在研究一個相對簡單的Angular前端(版本1.4x),並且我們一直在處理由錯別字造成的非常小的錯誤。例如,我們從服務器獲取數據,然後將其放在範圍內:調試角度前端

... 
$scope.result = data.results 
... 

請參閱複數嗎?此代碼正常工作,將undefined置於$ scope.result中。發生這種情況時,我們希望得到某種通知的警告。諸如JSLint之類的靜態分析工具無法幫助我們,因爲他們完全無法知道服務器返回的結果。

這個問題又表現在HTML模板:

... 
<p>The result is: <emph>{{results}}</emph></p> 
... 

在這裏,我們沒有得到任何通知,我們試圖訪問一個undefined財產。

有沒有辦法爲此獲取任何類型的通知?我們發現自己花費大量時間處理這些錯誤。

+0

這是我使用的解決方案http://stackoverflow.com/questions/19321104/angularjs-is-there-a-debug-mode-for-typos-in-bindings – gtlambert

+0

這可能有點偏離主題,但另一個選項將使用IDE /編輯器,它可以比記事本更智能地檢測拼寫錯誤,比如Sublime Text和Notepad ++甚至在一個文件中具有智能感知,並且WebStorm在名稱/屬性包含錯別字時顯示通知 – shershen

+0

我們使用PyCharm,問題不是錯別字,但使用未定義的屬性。我會換個話。 – zmbq

回答

1

WebStorm將爲您處理這些問題。例如,在我的代碼{{f。$ error}}中,我在結尾放置了一個額外的r,WS將其標記爲拼寫錯誤和未解析的變量$ errorr。 WebStorm在處理許多不同的框架作品時做了一個很好的工作來包含Angular和Node。

+0

我們使用的PyCharm應該包含WebStorm的一切。它發現拼寫錯誤,但它不處理Javascript代碼尋找不從服務器發送的屬性。它也不處理訪問未定義屬性的Angular模板。這可能是一個JavaScript問題。 – zmbq

+0

您必須確保已加載JavaScript調試器,JavaScript支持。儘管它們基本上是相同的,但不能打開/加載所有相同的選項。我也檢查過,我不確定是否添加了它,但是我已經加載了一個AngularJS插件。 –

+1

@zmbq https://www.jetbrains.com/pycharm/help/using-angularjs.html也許你升級了並且角度沒有啓用? –