我创建了一个文件上传指令,当文件成功上传时会显示一个警告框。但是,当用户首次导航到该页面时,会显示警告框,其中包含.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);
});
// ...
}
}
}]);