指令中的ngAnimate和ngShow最初显示元素

时间:2014-03-23 16:18:20

标签: angularjs animation

我创建了一个文件上传指令,当文件成功上传时会显示一个警告框。但是,当用户首次导航到该页面时,会显示警告框,其中包含.ng-hide-add类,该类会将警报框淡出。

我可以使用ng-if来防止这种初始行为,但是因为它创建了自己的作用域并且我有一些元素,所以我不能使用这种解决方法。

我找到了一个潜在的解决方案here,但这两个选项似乎都不适用于我(带有display none或使用ngClass的内联样式)。

HTML:

<div ng-show="success" class="alert-box success animate fadeInLeft">Files Successfully Uploaded!</div>

指令:

app.directive('fileUpload', ['$fileUploader', '$timeout',
    function($fileUploader, $timeout){
        return {
            restrict: 'E',
            replace: true,
            scope: {
                showQueue: '=',
                imagesOnly: '='
            },
            templateUrl: 'templates/files/upload.html',
            link: function(scope, element, attrs) {
                scope.success = false; // initially setting the variable to false to hide element

                uploader.bind('success', function(event, xhr, item, response) {
                    scope.success = true;
                    $timeout(function() {
                        scope.success = false;
                    }, 2000);
                });

                // ...

            }
        }
    }]);

0 个答案:

没有答案