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

时间:2015-12-01 19:41:26

标签: angularjs ng-animate angularjs-decorator

当我的用户未经身份验证时,我试图避免使用角度js的模板错误。为此,我来到了stackoverflow 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;
  }]);
}]);

1 个答案:

答案 0 :(得分:4)

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