Ng-animate stopped working using $templateRequest

2019-02-17 21:46发布

I was trying to avoid template errors with angular js when my user became unauthenticated. To do this, I came to this stackoverflow solution.

It worked for me, but now I noticed that my ng-animate stopped working without throwing console errors.

What am I missing?

Update: This is the code used

var app = angular.module('app',[]);

app.config(['$provide', function($provide) {
  $provide.decorator('$templateRequest', ['$delegate', function($delegate) {
    var mySilentProvider = function(tpl, ignoreRequestError) {
      return $delegate(tpl, true);
    }
    return mySilentProvider;
  }]);
}]);

1条回答
smile是对你的礼貌
2楼-- · 2019-02-17 22:02

The function $templateRequest contains additional properties that are used internally. You need to move these properties to the new function.

Here is an implementation that should work:

app.config(['$provide', function($provide) {
  $provide.decorator('$templateRequest', ['$delegate', function($delegate) {

    var fn = $delegate;

    $delegate = function(tpl) {

      for (var key in fn) {
        $delegate[key] = fn[key];
      }

      return fn.apply(this, [tpl, true]);
    };

    return $delegate;
  }]);
}]);
查看更多
登录 后发表回答