2015-06-10 31 views
3

当我点击Angular UI Grid列的箭头图标以显示该列的下拉菜单时,再次单击箭头图标将其隐藏,菜单以动画方式“拍摄” ,我觉得这是不可取的。禁用Angular UI Grid列菜单动画

如何禁用此行为?

+1

这是目前由于IE9的一些重构而导致的一个错误,它有望在下一个RC中得到修复。 – c0bra

+0

链接到github上的相关问题:https://github.com/angular-ui/ng-grid/issues/3921#issuecomment-118548377 –

+2

我真的希望有一种方法可以简单地禁用ui-gird的动画,而无需删除ngAnimate模块。我想为我的SPA添加动画,但由于UI网格错误,我必须删除ngAnimate模块。 :( –

回答

2

ngAnimate模块负责动画。你可以从应用程序中排除。如果你的任何依赖js库需要ngAnimate,那么这可能是不可能的。

var app = angular.module('app', ['ngTouch', 'ui.grid']); 

实施例而不ngAnimate

http://plnkr.co/edit/EEI8te66R2aa4H9UFTHX?p=preview

+0

适用于我。谢谢。 –

2

this answer描述,但是禁止用于特定元素的动画的一个通用的,非UI网格特定的方式。请注意,这不会影响只有动画由ngAnimate实施;相反,这会禁用所有动画一般

从原来的答案:

只需添加到你的CSS。这是最好的,如果它是最后一个规则:

.no-animate { 
    -webkit-transition: none !important; 
    transition: none !important; 
} 

再加入no-animate到要禁用类元素。 例子:

<div class="no-animate"></div> 

因此,禁用网格的菜单的动画,请执行下列操作(用无礼的话,但你的想法):

.ui-grid-menu-mid { 
    @extend .no-animate; // the .ng-animate class is as defined above 
} 

唯一真正的缺点,我可以用这种方法看,你不能有选择地禁用列和/或网格菜单的动画,只能同时使用这两种动画。

+0

此解决方案的工作原理非常聪明。 –