自分のスコープを破棄すると、プログラムでこのエラーが発生し続けます。angular内のこのwhileループまで追跡しました:
if (!(next = (current.$$childHead || (current !== target && current.$$nextSibling)))) {
while(current !== target && !(next = current.$$nextSibling)) {
current = current.$parent;
}
}
また、jsFiddle でそれを複製することもできました: http://jsfiddle.net/kEyqz/1/
設定は非常に簡単です。要素にクリック イベントを接続し、クリックされたことを $broadcast し、続いて $apply を実行します。
別のディレクティブ (子スコープを使用) でそのイベントをリッスンし、それが表示された場合は子スコープを破棄します。これを行うと、次のエラーが発生します。
Uncaught TypeError: Cannot read property '$$nextSibling' of null
これは、コードで達成しようとしていることのほんの一例です。
current = current.$parent の直前にコンソール ログを記録すると、スコープには $parent がありません (null に設定されます)。
次の行を追加できます。
if(!current){
break;
}
current = current.$parent の後、角度バージョンを切り替えると維持する必要があります (理想的ではありません)。