AngularJS:如何在document.onload中修改服务?

时间:2018-08-09 20:34:04

标签: javascript angularjs monkeypatching angularjs-1.2

我有一个奇怪的情况(you can read about the context here。我不确定该问题的答案会回答链接中的问题,因此是两个问题。),我想在其中修改AngularJS服务在框架已经加载之后。这是我们想做的一些代码:

<script>
document.onload = function () {
    angular.module('common')
        .config(function ($provide) {
            $provide.factory("$exceptionHandler", function () {
                return function (exception) {
                    throw exception;
                };
            });
        });
}
</script>

如果未将其包装在document.onload中,则可以正常工作。但是,当将其放入onload时,它似乎没有任何作用。如何在document.onload中修改服务?

对于它的价值,我的角度是1.2。

1 个答案:

答案 0 :(得分:2)

这在我们尝试时有效:

<script>
    window.onload = function () {
         angular.element(document.body).injector().invoke(function($log) {
             $log.error = function(message) {
                 throw new Error(message)
             };
         });
    }
</script>