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.
107 lines
2.1 KiB
107 lines
2.1 KiB
<template> |
|
<!-- #ifdef APP-NVUE --> |
|
<cell> |
|
<!-- #endif --> |
|
<view class="uni-list-ad"> |
|
<view v-if="borderShow" :class="{'uni-list--border':border,'uni-list-item--first':isFirstChild}"></view> |
|
<ad style="width: 200px;height: 300px;border-width: 1px;border-color: red;border-style: solid;" adpid="1111111111" |
|
unit-id="" appid="" apid="" type="feed" @error="aderror" @close="closeAd"></ad> |
|
</view> |
|
<!-- #ifdef APP-NVUE --> |
|
</cell> |
|
<!-- #endif --> |
|
|
|
</template> |
|
|
|
<script> |
|
// #ifdef APP-NVUE |
|
const dom = uni.requireNativePlugin('dom'); |
|
// #endif |
|
export default { |
|
name: 'UniListAd', |
|
props: { |
|
title: { |
|
type: String, |
|
default: '', |
|
|
|
} |
|
}, |
|
// inject: ['list'], |
|
data() { |
|
return { |
|
isFirstChild: false, |
|
border: false, |
|
borderShow: true, |
|
} |
|
}, |
|
|
|
mounted() { |
|
this.list = this.getForm() |
|
if (this.list) { |
|
if (!this.list.firstChildAppend) { |
|
this.list.firstChildAppend = true |
|
this.isFirstChild = true |
|
} |
|
this.border = this.list.border |
|
} |
|
}, |
|
methods: { |
|
/** |
|
* 获取父元素实例 |
|
*/ |
|
getForm(name = 'uniList') { |
|
let parent = this.$parent; |
|
let parentName = parent.$options.name; |
|
while (parentName !== name) { |
|
parent = parent.$parent; |
|
if (!parent) return false |
|
parentName = parent.$options.name; |
|
} |
|
return parent; |
|
}, |
|
aderror(e) { |
|
console.log("aderror: " + JSON.stringify(e.detail)); |
|
}, |
|
closeAd(e) { |
|
this.borderShow = false |
|
} |
|
} |
|
} |
|
</script> |
|
|
|
<style lang="scss" > |
|
.uni-list-ad { |
|
position: relative; |
|
border: 1px red solid; |
|
} |
|
|
|
.uni-list--border { |
|
position: relative; |
|
padding-bottom: 1px; |
|
/* #ifdef APP-PLUS */ |
|
border-top-color: $uni-border-color; |
|
border-top-style: solid; |
|
border-top-width: 0.5px; |
|
/* #endif */ |
|
margin-left: $uni-spacing-row-lg; |
|
} |
|
|
|
/* #ifndef APP-NVUE */ |
|
.uni-list--border:after { |
|
position: absolute; |
|
top: 0; |
|
right: 0; |
|
left: 0; |
|
height: 1px; |
|
content: ''; |
|
-webkit-transform: scaleY(.5); |
|
transform: scaleY(.5); |
|
background-color: $uni-border-color; |
|
} |
|
|
|
.uni-list-item--first:after { |
|
height: 0px; |
|
} |
|
|
|
/* #endif */ |
|
</style>
|
|
|