gpt4 book ai didi

javascript - v-if 位于 v-for 内以显示一节

转载 作者:行者123 更新时间:2023-12-01 01:33:24 26 4
gpt4 key购买 nike

我正在尝试执行类似 linkedin 评论之类的操作,虽然页面上显示了多个帖子,但如果您单击该帖子的“显示评论”,则只会显示该帖子的评论。

我的解决方案:在created()中创建162个 bool 变量,然后使用v-for的索引,我会写出我的v-if,但它不会打开我想要的div。当我等于变量时,必须在created()中提及真正的他们都开放了。我们只显示 162 个帖子!

当其为 false 时,单击后它们的值更改为 true(使用 console.log 检查)但 div 不会打开!

<template>
<span v-if="post.comments_status == 1" class="optiontext cursor-pointer" @click="showcomment(index)"><i
class="fa fa-comment-o"></i> OPEN COMMENT SECTION FOR THIS POST
</span>

<div class="col-md-8" id="imtop" style="direction:rtl">

<!-- v-if part to show comments-->
<div v-if="Commenton[index] == true" class="col-md-12 commentsec">
<div class="eachcomment col-md-12">
<div class="usercomment">
<img :src="images" class="pop-img-min"/>
</div><!-- usercomment end-->
</div>

</div><!-- end of allposts-->
</div>
</template>

<script>
import vSelect from 'vue-select'
import axios from 'axios'
export default {

components: {vSelect},
props: ['alltags','posts'],
data() {
return {
searchoptions:[{label:'جدیدترین ',value:'newest'},{label:'محبوبترین',value:'محبوبترین'}],
Commenton:[],
}
},

created() {
for(var i = 0; i<162;i++) {
this.Commenton[i] = false;
}

},
mounted() {
this.getInitialUsers();
this.scroll(this.post);
},
methods: {
showcomment(indexof){
if(this.Commenton[indexof] == false){
this.Commenton[indexof]=true;
}else if(this.Commenton == true) {
this.Commenton=false;
}
},

},

}


</script>

注意:它是一个包含超过 1000 行代码的单页 Web 应用程序,必须删除大量部分,以便您可能会看到其他 div 标签或其他内容,但程序运行正常。

我的后端是 laravel,但我不认为它与此有任何关系!

感谢您的帮助

最佳答案

You are having reactivity problems.

这些问题是由于 Javascript 环境的限制,vue 无法检测数组修改而导致的。为了确保 vue 看到您的更改,请使用 this.$set(object, key, value):

// Inside your created method:
this.$set(this.Commenton, i, false);

// inside you showComment method
showcomment(indexof){

if(this.Commenton[indexof] == false){
this.$set(this.Commenton, indexof, true);
}else if(this.Commenton[indexof] == true) {
this.$set(this.Commenton, indexof, false);
}


},

关于javascript - v-if 位于 v-for 内以显示一节,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53041389/

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