gpt4 book ai didi

javascript - Nuxt.js:方法中的迭代会导致问题

转载 作者:行者123 更新时间:2023-12-01 01:52:00 25 4
gpt4 key购买 nike

点击事件触发后,我尝试迭代特定数组的长度。数组中的每个项目都通过 v-if 语句链接到 HTML 元素。当数组中的相应项设置为 true 时,将显示元素。

单击后,元素并未显示出来,仔细检查后,数组如下所示:

visibleQuestions: [ null, null, null, true ]

在本例中,需要显示 3 个问题

我该如何解决这个问题?相关代码是这样的:

<template>
<fieldset v-for="(item, questionIndex) in questions" v-if="visibleQuestions[questionIndex]">
....
</fieldset>
<button @click="showAll(questions.length)">Show all</button>
</template>

<script>
export default {
asyncData(context) {
return context.app.$storyapi.get('cdn/stories', {
version: 'draft',
startsWith: '/subjects/biology/hl/1999-may'
}).then(response => {
console.log(response.data.stories[0].content.question);
return {
questions: response.data.stories[0].content.question
}
});
},
data() {
return {
visibleQuestions: []
}
},
methods: {
showAll: function(questionAmount) {
for (let i = 0; i < questionAmount; i++) {
this.$set(this.visibleQuestions, questionAmount, true);
}
}
}
}
</script>

最佳答案

showAll 方法中的 Vue.set 调用中将 questionAmount 更改为 i:

       showAll: function(questionAmount) {
for (let i = 0; i < questionAmount; i++) {
this.$set(this.visibleQuestions, i, true);
}
}

关于javascript - Nuxt.js:方法中的迭代会导致问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51403803/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com