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