You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
|
|
|
|
<!-- 装修图文组件:热区 -->
|
|
|
|
|
<template>
|
|
|
|
|
<view class="hotzone-wrap">
|
|
|
|
|
<image :src="sheep.$url.cdn(data.imgUrl)" style="width: 100%" mode="widthFix"></image>
|
|
|
|
|
<view
|
|
|
|
|
class="hotzone-box"
|
|
|
|
|
v-for="(item, index) in data.list"
|
|
|
|
|
:key="index"
|
|
|
|
|
:style="[
|
|
|
|
|
{
|
|
|
|
|
top: `${item.top}px`,
|
|
|
|
|
left: `${item.left}px`,
|
|
|
|
|
width: `${item.width}px`,
|
|
|
|
|
height: `${item.height}px`,
|
|
|
|
|
},
|
|
|
|
|
]"
|
|
|
|
|
@tap.stop="sheep.$router.go(item.url)"
|
|
|
|
|
>
|
|
|
|
|
</view>
|
|
|
|
|
</view>
|
|
|
|
|
</template>
|
|
|
|
|
|
|
|
|
|
<script setup>
|
|
|
|
|
import sheep from '@/sheep';
|
|
|
|
|
|
|
|
|
|
// 接收参数
|
|
|
|
|
const props = defineProps({
|
|
|
|
|
data: {
|
|
|
|
|
type: Object,
|
|
|
|
|
default: () => ({}),
|
|
|
|
|
},
|
|
|
|
|
styles: {
|
|
|
|
|
type: Object,
|
|
|
|
|
default: () => ({}),
|
|
|
|
|
},
|
|
|
|
|
});
|
|
|
|
|
</script>
|
|
|
|
|
|
|
|
|
|
<style lang="scss" scoped>
|
|
|
|
|
.hotzone-wrap {
|
|
|
|
|
position: relative;
|
|
|
|
|
}
|
|
|
|
|
.hotzone-box {
|
|
|
|
|
position: absolute;
|
|
|
|
|
}
|
|
|
|
|
</style>
|