如何在不使用v-loop的情况下渲染vejs中的增加值?



不使用v-for,我如何在vuejs中手动创建一个increase变量?

<comp :prop-data="page++">Some logic 1</comp>
<comp v-if="dataPage2Exist" :prop-data="page++">Difference logic of Page 2</comp>
<comp :prop-data="page++">Differnce logic of page 3</comp>

我尝试使用数据返回,但有一个错误说'不定式循环'

我在这里找到了一个解决方案。如果你有和我一样的问题。

data() {
return {
pages: [0, 1, 2, 3],
}
},
mounted() {
if (!this.dataPage2Exist()) {
this.pages = [0, 1, 2, 2]
}
}

,然后在组件

<comp :prop-data="pages[1]">Some logic 1</comp>
<comp v-if="dataPage2Exist" :prop-data="pages[2]">Difference logic of Page 2</comp>
<comp :prop-data="pages[3]">Differnce logic of page 3</comp>

你所描述的是从1到n的循环。

发生无限循环是因为Vue正在更新页面,因为变量发生了变化。该变量会随着页面呈现而改变。

你必须创建一个循环让它停止。

<!-- loop 10 times -->
<div>
<span v-for="n in 10">{{ n }}</span>
</div>

除了10,你还可以在数据中有一个变量,它是迭代的次数。

参见Vue文档:v-for的范围

最新更新