当前位置: 首页 > 面试题库 >

ng-animate:模型更改时的动画

东门越
2023-03-14
问题内容

我创建了一个表,用户可以在其中增加和减少该值。见小提琴

//sample code as its not allowing me to push the link to JSFiddle with out pasting code

   <tr ng-repeat="d in dataSource" ng-animate="'animate'">

// css - as from angular page
.animate-enter {
    -webkit-transition: 1s linear all; /* Chrome */
    transition: 1s linear all;
    background-color:Yellow;
}

.animate-enter.animate-enter-active {
    background-color:Red;
}

我想在模型更新时做动画,即表格列的背景颜色从红色更改为白色,以防用户更改值。

因此,当您单击任何垂直列中的向上箭头或向下箭头时,该表列的背景颜色将从红色变为白色。

我无法解决这个问题。关于如何实现这一目标的任何指针?


问题答案:

您的代码中有几个问题:

  1. 切勿 在控制器代码中进行DOM操作:这$(elem).animate(..是您应避免的事情。只有在指令中,您才能使用DOM元素进行操作。

  2. 在AngularJS的1.2+版本中,您需要引用ngAnimate模块。

  3. 最好将CSS3动画与基于js的动画一起使用。

我建议编写一条指令来跟踪更改,并添加一个将触发动画然后将其删除的类:

app.directive('animateOnChange', function($animate,$timeout) {
  return function(scope, elem, attr) {
      scope.$watch(attr.animateOnChange, function(nv,ov) {
        if (nv!=ov) {
          var c = nv > ov?'change-up':'change';
          $animate.addClass(elem,c).then(function() {
            $timeout(function() {$animate.removeClass(elem,c);});
          });
        }
      });
   };
});

工作示例:http :
//plnkr.co/edit/zs495osfSnWSvWBIn3rh?p=preview



 类似资料:
  • �� ng-animate ng-animate is a collection of cool, reusable and flexible animations for Angular. It implements all the animations in animate.css, but with the power and flexibility of Angular animation

  • 问题内容: 我已经创建了jsfiddle http://jsfiddle.net/99vtukjk/ 在单击左或右文本时,当前用于隐藏的动画是向上的,我们如何才能将其更改为向左滑动动画,例如向左菜单栏滑动并淡入淡出? CSS: 角度模块 问题答案: 您可以设置在 和上 这是一个工作的小提琴 可以帮助您制作精美动画的一件事是使用 Animate.css animate.css是一堆很棒,有趣且跨浏览

  • 在我的角度页面中,我面临着动态ng模型值的一些问题。这是我的示例JSON。 我想从这个josn中做的是,在我的页面中创建一个视图,这样,它将包含< code>tab1和< code>tab2作为页面标题,以及相应的< code>value作为< code>checkbox。用户将有选择他的选项的选择性。在提交时,我想得到他选择的选项。我想知道在我的控制器中选择了< code>value1,valu

  • 问题内容: 我正在尝试创建一个应用程序,用户可以选择不同类型的块并将它们堆叠在一起以创建唯一的模板。 由于我希望用户能够多次将相同的块添加到模板中,因此我必须使用“ track by $ index”来完成此操作: 但是,当我尝试使用ng- animate添加动画时,用于删除块的动画是在模板中的最后一块而不是remove块上进行动画处理。我将代码放在jsfiddle的http://jsfiddle

  • 问题内容: 我正在尝试从对象数组生成一组复选框。我的目标是使复选框动态地将其ng模型映射到将要提交到数组中的新对象的属性。 我的想法是 在此JSFiddle上可以看到,这不起作用: http://jsfiddle.net/GreenGeorge/NKjXB/2/ 有人可以帮忙吗? 问题答案: 这应该给您想要的结果: 这是工作正常的小伙伴:http ://plnkr.co/edit/ALHQtkji

  • 我有一个包含一些项目(例如汽车)的列表,它是动态的,因此没有固定的长度。当我加载此列表时,它看起来像这样: 之后,我在ng-repeat循环中循环此列表并创建一些复选框,以便我可以选择项目: 现在我有一个用户对象。这个对象里面有一个数组“cars”,我想在其中推送所有选定的汽车,如果我取消选择它,请将其删除。我的对象看起来像这样: 所以当我选择一辆汽车时,它应该被推送到我的用户对象中的数组中,如果