| <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> |