为人方正实诚
为人方正实诚
  • 发布:2024-11-17 01:28
  • 更新:2024-11-17 08:49
  • 阅读:197

信息流广告组件在v-for时,可以直接写在循环里面吗,如果写在里面会被循环请求加载多次吗

分类:nvue

信息流广告组件在v-for时,可以直接写在循环里面吗,如果写在里面会被循环请求加载多次吗?怎么在每一次请求列表数据后只加载显示一次,这是我现在的写法,这样有问题吗

复制代码<list  class="list">  
  <cell  v-for="(item,index) in Data" :key="item.id">  
       <view>....这里是列表框的数据</view>  
       <ad style="width: 700rpx; margin-top: 20rpx; margin-left: 25rpx;" adpid="*********"></ad>  
  </cell>  
</view>

这样会被循环请求多次吗

2024-11-17 01:28 负责人:无 分享
已邀请:

最佳回复

8***@qq.com

8***@qq.com - 欢迎观看最近更新的《uni-app 踩坑实录》,涉及一些在文档上不容易看到的疑难杂症的解决方案。https://www.bilibili.com/cheese/play/ss60198

你当前的写法是会每次都请求的。可以试一下下边的写法:

复制代码<template>  
    <view class="content">  
        <view v-for="(item, key) in showListData" :key="item.id">  
            <view v-if="!item.isAd">  
                <!-- 这里是列表数据 -->  
            </view>  
            <view v-else>  
                <!-- 这里放广告 -->  
                <!-- <ad adpid="1111111111"></ad> -->  
            </view>  
        </view>  
    </view>  
</template>  
<script>  
export default {  
    data() {  
        return {  
            listData: [  
                {  
                    isAd: false,  
                    id: 1  
                },  
                {  
                    isAd: false,  
                    id: 2  
                }  
            ]  
        };  
    },  
    computed: {  
        // 每次数据变化,将表示广告的数据放进去。 template模板中根据isAd字段判断是否显示广告  
        showListData() {  
            return [...this.listData, { isAd: true, id: 3 }];  
        }  
    }  
};  
</script>

要回复问题请先登录注册

  • 标题 / 粗斜体
  • 代码片段
  • 超链接 / 图片 / 视频
  • 列表 / 引用

文章内容较多时,可以用标题分段 :

## 大标题 
### 小标题

斜体 / 粗体 :

**粗体** 
*斜体*
***粗斜体***

代码片段 :

``` javascript
代码片段
```

超链接 :

[链接文字](链接地址) 例: [百度](http://www.baidu.com)

图片 :

![图片说明](图片地址) 例: ![百度logo](http://www.baidu.com/img/bdlogo.gif)

视频 :

!![视频说明](视频地址) 例: !![优酷视频](http://youku.com)

有序列表 :

1. 123
2. 123
3. 123

无序列表 :

- 123
- 123
- 123

引用 : ( 双回车后结束引用 )

> 引用内容
引用内容
引用内容