我没有找到任何关于如何使用新的动画支持动画Angular中某些内容的宽度的好例子。
我的应用程序侧面有一个抽屉,我想在用户按下按钮时展开/关闭。问题是,使用ng-show,它总是希望在“离开”动画完成后应用“display:none” - 我不希望这样。我只想动画抽屉的宽度。
实现这一目标的最佳方法是什么?
答案 0 :(得分:2)
您可以编写自己的指令,使用jquery动画来修改元素的宽度:
angular.module('app', []).directive('testAnimate', function() {
return {
link: function(scope, iElement, iAttrs) {
scope.$watch(iAttrs.testAnimate, function(newValue, oldValue) {
var shown = !!newValue;
if (shown !== !!oldValue) {
iElement.animate({
width: shown ? '+=50px' : '-=50px'
});
}
});
}
};
});