diff --git a/packages/mip/src/components/mip-img.js b/packages/mip/src/components/mip-img.js index 232d982c..b4d9c414 100644 --- a/packages/mip/src/components/mip-img.js +++ b/packages/mip/src/components/mip-img.js @@ -7,6 +7,7 @@ /* eslint-disable no-new */ import util from '../util/index' +import {customEmit} from '../util/custom-event' import CustomElement from '../custom-element' import viewport from '../viewport' import viewer from '../viewer' @@ -316,6 +317,7 @@ class MipImg extends CustomElement { // 标识资源已加载完成 this.resourcesComplete() this.element.classList.add('mip-img-loaded') + customEmit(this.element, 'load') }).catch(reason => { /* istanbul ignore if */ if (!viewer.isIframed) { diff --git a/packages/mip/test/specs/components/mip-img.spec.js b/packages/mip/test/specs/components/mip-img.spec.js index 703cd289..64025a3a 100644 --- a/packages/mip/test/specs/components/mip-img.spec.js +++ b/packages/mip/test/specs/components/mip-img.spec.js @@ -4,6 +4,7 @@ */ import dom from 'src/util/dom/dom' +import {event} from 'src/util' /* eslint-disable no-unused-expressions */ /* globals describe, before, it, expect, after, Event */ @@ -111,10 +112,12 @@ describe('mip-img', function () { ` let mipImg = mipImgWrapper.querySelector('mip-img') + let loading = new Promise(resolve => event.listen(mipImg, 'load', resolve)) mipImg.viewportCallback(true) let img = mipImg.querySelector('img') expect(img.classList.contains('mip-replaced-content')).to.equal(true) expect(img.getAttribute('src')).to.equal('https://www.mipengine.org/static/img/sample_01.jpg') + return loading }) it('should change src and reload img', function () {