javascript - Angularjs - 在完成之前删除元素闪烁的指令

标签 javascript angularjs typescript

如果 ng-src 导致 404,我正在尝试编写一个 指令 来删除 img 元素.该指令有效,但损坏的 img 出现了一秒钟,然后被删除。我试图在元素呈现在 GUI 中之前将其删除。

TS:

import { IDirective } from "angular";

/* @ngInject */
export function imgSrcErr($http): ng.IDirective {
    return {
        link: (scope, element, attrs) => {
            element.bind("error", () => {
                element.parent().remove();
                console.log("error");
            });
        }
    };
}

HTML:

<img img-src-err ng-src="{{$ctrl.model.pictureUrl}}"/>

最佳答案

您可以采取一些解决方法,例如加载时将不透明度设置为 0:

link: (scope, element, attrs) => {
    element.addClass('opacity-0');
    element.bind('error', () => {
        element[0].remove(); // not sure why you remove parent of element, but up to you
    });
    element.bind('load', () => element.removeClass('opacity-1'));
}

opacity-0 {
  opacity: 0;
}

关于javascript - Angularjs - 在完成之前删除元素闪烁的指令,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56530681/

相关文章:

javascript - 当父组件更新 vuejs 时,子组件不会更新

typescript - 如何在 visual studio 代码中运行 jasmine 测试?

css - AngularJS 1.5.6 - ngRepeat 动画不工作

javascript - angularjs根据其他字段的总和更新模型

javascript - Angularjs 代码不在匿名函数中运行

typescript 。如果模块没有@types怎么办?

javascript - 如何通过点击触发css3旋转效果?

javascript - 使用两个提交按钮区分 HTML 表单上的提交按钮

javascript - 光滑的 slider 不工作

javascript - jquery 替换 DIV 数据,然后跟踪点击它