我有一個基本上由
var onclick = function() {
$window.open(url, "_blank", 'location=yes');
}
在Firefox的功能,不過,當我點擊我得到:
Error: [$rootScope:inprog] $apply already in progress
這是一個相當普遍的問題,通常通過把整個東西放在一個$timeout()
塊中解決。
除了從超時時間調用$window.open()
激活彈出窗口阻止程序!我需要一些方法來完成同樣的事情,而不必退出線程。
你打電話給'onclick'怎麼樣。我猜它的名字是一個點擊處理程序。可能是因爲你很快爲這個問題鍵入了它,但是沒有'$ scope',所以我假設angular不處理點擊?那麼你是否在調用這個函數之前手動調用'$ apply'? – ste2425
這通常發生在你開始混合角度碼和非角度碼時。 http://plnkr.co/edit/tyj1K0DMryBejH0upDPU?p=preview這可以幫助你瞭解何時應該調用$ apply。 –
僅供參考,這似乎是由於Firefox中的一個已知問題。詳情在這裏:https://github.com/angular/angular.js/issues/10083/ https://bugzilla.mozilla.org/show_bug.cgi?id=1127236 –