50 lines
1.2 KiB
Vue
50 lines
1.2 KiB
Vue
<template>
|
||
<uvImage
|
||
:src="src"
|
||
:mode="mode"
|
||
:width="width"
|
||
:height="height"
|
||
:shape="shape"
|
||
:radius="radius"
|
||
:lazyLoad="lazyLoad"
|
||
:showMenuByLongpress="showMenuByLongpress"
|
||
:loadingIcon="loadingIcon"
|
||
:errorIcon="errorIcon"
|
||
:showLoading="showLoading"
|
||
:showError="showError"
|
||
:fade="fade"
|
||
:webp="webp"
|
||
:duration="duration"
|
||
:bgColor="bgColor"
|
||
:customStyle="customStyle"
|
||
@click="$emit('click')"
|
||
@error="$emit('error')"
|
||
@load="$emit('load')"
|
||
>
|
||
<template v-slot:loading>
|
||
<slot name="loading"></slot>
|
||
</template>
|
||
<template v-slot:error>
|
||
<slot name="error"></slot>
|
||
</template>
|
||
</uvImage>
|
||
</template>
|
||
|
||
<script>
|
||
/**
|
||
* 此组件存在的理由是,在nvue下,u-image被uni-app官方占用了,u-image在nvue中相当于image组件
|
||
* 所以在nvue下,取名为u--image,内部其实还是u-iamge.vue,只不过做一层中转
|
||
*/
|
||
import uvImage from '../u-image/u-image.vue';
|
||
import props from '../u-image/props.js';
|
||
import mpMixin from '../../libs/mixin/mpMixin';
|
||
import mixin from '../../libs/mixin/mixin';
|
||
export default {
|
||
name: 'u--image',
|
||
mixins: [mpMixin, props, mixin],
|
||
components: {
|
||
uvImage
|
||
},
|
||
emits: ['click', 'error', 'load']
|
||
}
|
||
</script> |