Ng-animate 使用 $templateRequest 装饰器停止工作

Ng-animate stopped working using $templateRequest decorator

当我的用户未经身份验证时,我试图避免使用 angular js 出现模板错误。为此,我来到了这个 Whosebug solution.

它对我有用,但现在我注意到我的 ng-animate 停止工作而没有抛出控制台错误。

我错过了什么?

更新:这是使用的代码

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;
  }]);
}]);

函数 $templateRequest 包含内部使用的附加属性。您需要将这些属性移动到新函数中。

这是一个应该有效的实现:

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;
  }]);
}]);