2016-04-15 51 views
0

我有一個大型項目,其中一個方法連接到範圍有一個console.log。

$scope.someFunctionAttachedToView = function() { 
    console.log("this method is being triggered"); 
    return { 
     'width': '500px' 
    } 
} 

在這個項目中,我有很多用於偵聽瀏覽器窗口大小的聽衆,和鼠標點擊等,我注意到,有時,即使我不認爲我在做這將觸發動作一個摘要循環,我看到上面的console.log消息間歇地出現在瀏覽器控制檯中。

我正在嘗試追查哪些操作可能會觸發摘要循環來應用,因爲它不是預期的行爲。

你會如何跟蹤這個?有什麼我可以在Angular對象console.log中告訴我這個?

回答

0

如果您使用的鍍鉻工作/ Firefox的,你可以把一個debugger在你的代碼是這樣的:

$scope.someFunctionAttachedToView = function() { 
    debugger; 
    console.log("this method is being triggered"); 
    return { 
     'width': '500px' 
    } 
} 

當此功能會觸發你的JavaScript將被凍結,你可以看看在堆棧跟蹤哪個函數叫它。 (在Chrome中,您可能必須啓用異步,因爲摘要經常會混淆調用堆棧)