如何防止 Angular 在抛出错误后继续呈现指令(结果错误)

How to prevent Angular from continuing to render a directive (with wrong results) after error thrown

我有一些带有模板的指令和一个 compile 改变模板的函数。有时 Angular 将无法检测到 jQuery(并使用 jqLit​​e),这会导致我的 compile 抛出。但是,Angular 将继续呈现指令中的模板,然后是页面的其余部分。

这很糟糕,因为未经更改的模板通常包含误导性或错误的信息。有谁知道为什么会这样以及如何预防?

我已经实现了 $exceptionHandler,它将用一些调试信息替换整个页面。 Angular 将继续按上述方式呈现,但只针对不再位于 DOM 中的元素。