vue.js - 模板 v-for 循环中的增量变量

标签 vue.js vuejs2

我有这样的伪 vue-js 循环:

var j = 0;
for(var i = 0; i < 100; i ++){
    <item-component></item-component>

    if(i % 10 === 0){
        <component :is="'advertising-block-' + j"></component>
        j ++;
    }
}

如何覆盖到vue模板?

我需要在每十个项目之后显示不同的广告 block ,并且此类组件( block )的名称应该是:

advertising-block-0
advertising-block-1
...
advertising-block-10 (last one after 100th item).

最佳答案

可以用v-for迭代100次,每第10个item显示一个广告组件(这个应该是常见的,取j并显示相应的项目)使用v-if:

const itemcomponent = Vue.component('itemcomponent', {
  template: '#itemcomponent',
});
const advertisingblock = Vue.component('advertisingblock', {
  template: '#advertisingblock',
  props: ['id']
});

new Vue({
  el:"#app",
  components: { itemcomponent, advertisingblock }
});
<script src="https://cdnjs.cloudflare.com/ajax/libs/vue/2.5.17/vue.js"></script>

<template id="itemcomponent">
  <div>item</div>
</template>

<template id="advertisingblock">
  <div>advertising-block-{{id}}</div>
</template>

<div id="app">
  <div v-for="i in 100">
    <div><itemcomponent/></div>
    <div v-if="i%10===0"><advertisingblock :id="i/10"/></div>
  </div>
</div>

关于vue.js - 模板 v-for 循环中的增量变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/66185533/

相关文章:

javascript - Vue : Child string prop wont render

javascript - 页面呈现一秒钟然后消失 - Vue JS

vue.js - 如何在 vue.js 中添加动态引用?

javascript - vuejs2 beforeUpdate 生命周期钩子(Hook)触发两次

javascript - 如何从 vue el-date-picker 中 trim/删除时间?

javascript - 在 Vue 代码中使用 javascript 库/插件

vue.js - nuxt watchQuery 无法使用新查询更新路由

javascript - Vue.js 中的实用方法

javascript - 将 VueJS V-if 指令与 Vue Draggable 相结合

javascript - Vuejs - 如何在元素上的加载事件上调用方法