我正在開發一個企業Angular應用程序,用於測試的Ruby PageObject。我們遇到的問題是,有時會出現$間隔,我們已經啓動了導致隨機故障的$摘要。我正在嘗試寫一個Javscript命令,頁面對象可以執行以查看$摘要是否正在運行。要做到這一點,我想出了以下...
angular.element("#application").injector().get('$rootScope').$$phase
這似乎是工作,但是,我想create a plunker to demonstrate問題,但是,這plunker不會從$消化改變。但是,當我添加以下內容...
$timeout(function() {
console.log("phase is "+$scope.$root.$$phase);
})
我看到它變成了空,所以我如何顯示在UI中?
爲什麼你要在$間隔內強制$摘要?只有在知道角度生命週期以外的事情發生變化時,您才需要執行$ apply。所有以'$$'開始的值都是內部值,絕不能在實時應用程序中使用。 – Enzey
觀察者將始終在同一階段被調用。所以價值永遠是一樣的。 – zeroflagL
@Enzey吧?超時不會強制它正在等待摘要完成的摘要。這就是爲什麼在超時內階段爲空。至於$$,這是測試內部而不是應用程序本身,測試抓取DOM元素並使用它的注入器來獲取$ rootScope。這不會是什麼包括在最終的來源 – Jackie