【问题标题】:$animate callback promise not work in angularjs$animate 回调承诺在 angularjs 中不起作用
【发布时间】:2014-11-17 22:07:21
【问题描述】:

引用 $animate api,$animation 自 angular1.3 起支持回调承诺。

但我的代码不起作用

angular.module('app', [ngAnimate])
.factory('test', ['$animate', '$q', function($animate, $q) {
  return {
    test: function(element) {
      $animate.enter(angular.element("#node"), element)
      .then(function() {
        console.log('entered');
      });
    }
  };
}]);

返回

Error: $animate.enter(...).then is not a function

我的角度和角度动画都是 1.3.0-beta.19
请帮忙!


编辑
问题自己解决了。

因为自 v1.3.0-rc.0 起支持回调承诺,但不支持 v1.3.0-beta.19

【问题讨论】:

  • 先修正语法,return { function(element) { ...没有意义。
  • 已修复,非常感谢

标签: angularjs angular-promise angularjs-animation


【解决方案1】:

我认为你需要改变:

$animate.enter(angular.element("#node"), element)

$animate.enter(element.find("#node"), element)

【讨论】:

  • 我认为在这种情况下选择#node 是不正确的。 $animate.enter 期望插入一个元素对象作为它的第一个参数。试试 $animate.enter(angular.element("
    Hello
    "), element)
  • angular.element("#node")element.find("#node") 都将#node 附加到element。问题是它说.then is not a function
【解决方案2】:

问题自己解决了。

因为自 v1.3.0-rc.0 起支持回调承诺,但不支持 v1.3.0-beta.19

【讨论】:

    猜你喜欢
    • 2014-02-19
    • 2013-07-22
    • 2016-10-14
    • 2013-06-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多