【问题标题】:Ng-animate stopped working using $templateRequest decoratorNg-animate 停止使用 $templateRequest 装饰器工作
【发布时间】:2015-12-01 19:41:26
【问题描述】:

当我的用户未经身份验证时,我试图避免 Angular 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;
  }]);
}]);

【问题讨论】:

  • 为清楚起见,我建议包含链接解决方案中的代码。

标签: angularjs ng-animate angularjs-decorator


【解决方案1】:

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

【讨论】:

  • 我遇到了同样的问题,但这并没有完全解决它。您需要将 for 循环移到实际函数调用之外,否则在您请求第一个模板之前它不会复制所有内容。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2017-05-01
  • 1970-01-01
  • 2021-10-26
  • 2019-11-09
  • 2020-10-04
  • 1970-01-01
  • 2014-04-27
相关资源
最近更新 更多