Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/vue.js/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Vue.js 如果元素不存在,则隐藏它';t匹配v型_Vue.js_Vuetify.js - Fatal编程技术网

Vue.js 如果元素不存在,则隐藏它';t匹配v型

Vue.js 如果元素不存在,则隐藏它';t匹配v型,vue.js,vuetify.js,Vue.js,Vuetify.js,我所做的有点像一个标签搜索系统。我现在正在使用vuetify 1.0.19制作芯片。标签的v型是一个数组。现在,如果它与卡()中的芯片不匹配,我想隐藏那张卡。我有点想使用jQuery的.find()然后.hide()函数,但我不想使用jQuery,因为我现在正在学习vue。我知道如何在jQuery中实现这一点,并在脚本的方法部分模拟它。但是这样做看起来很脏,所以我只是想问是否有更有效的方法来做这件事 标签 卡片(它位于v-for中,因为它来自数据库。我正在使用nuxt渲染这些卡片) {{e

我所做的有点像一个标签搜索系统。我现在正在使用vuetify 1.0.19制作芯片。标签的v型是一个数组。现在,如果它与卡()中的芯片不匹配,我想隐藏那张卡。我有点想使用jQuery的
.find()
然后
.hide()
函数,但我不想使用jQuery,因为我现在正在学习vue。我知道如何在jQuery中实现这一点,并在脚本的
方法部分模拟它。但是这样做看起来很脏,所以我只是想问是否有更有效的方法来做这件事

标签


卡片(它位于v-for中,因为它来自数据库。我正在使用nuxt渲染这些卡片)


{{event.idevents+'-'+event.eventname}
主办方:
{{organizer.toUpperCase()}
剧本

export default {
  async asyncData () {
    let data = await axios.get('/events')
    let dbTags = await axios.get('/tags')
    let tagnames = []
    for (let i = 0; i < dbTags.data.length; i++) {
      tagnames.push(dbTags.data[i].tagname)
    }
    return {
      events: data.data,
      savedTags: tagnames,
      tags: []
    }
  },
  methods: {
    hideCard () {
      document.querySelectorAll('.hide-me').forEach(elm => {
        if (this.tags.length > 0) {
          this.tags.forEach(tag => {
            console.log(elm.innerHTML.toLowerCase().indexOf(tag.toLowerCase()) > -1)
            if (!(elm.innerHTML.toLowerCase().indexOf(tag.toLowerCase()) > -1)) {
              elm.classList.add('hide')
            } else {
              elm.classList.remove('hide')
            }
          })
        } else {
          elm.classList.remove('hide')
        }
      })
    }
  }
}
导出默认值{
异步数据(){
让data=wait axios.get('/events')
让dbTags=wait axios.get(“/tags”)
让标记名=[]
for(设i=0;i{
如果(this.tags.length>0){
this.tags.forEach(tag=>{
log(elm.innerHTML.toLowerCase().indexOf(tag.toLowerCase())>-1)
if(!(elm.innerHTML.toLowerCase().indexOf(tag.toLowerCase())>-1)){
elm.classList.add('hide')
}否则{
elm.classList.remove('hide')
}
})
}否则{
elm.classList.remove('hide')
}
})
}
}
}

编辑您的问题并发布您的代码,以便我们看到您得到了什么?提示:v-if,计算属性
<v-flex xs2 v-for="(event, index) in events" :key="index" class="hide-me">
  <v-card hover ripple :to="`/event/${event.idevents}`">
    <v-card-title>
      <h2>{{ event.idevents + ' - ' + event.eventname }}</h2>
    </v-card-title>
    <v-card-text>
      <div class="subheading">Organizer/s:</div>
      <v-chip v-for="(organizer, i) in JSON.parse(event.managedBy)" :key="i">{{ organizer.toUpperCase() }}</v-chip>
    </v-card-text>
  </v-card>
</v-flex>
export default {
  async asyncData () {
    let data = await axios.get('/events')
    let dbTags = await axios.get('/tags')
    let tagnames = []
    for (let i = 0; i < dbTags.data.length; i++) {
      tagnames.push(dbTags.data[i].tagname)
    }
    return {
      events: data.data,
      savedTags: tagnames,
      tags: []
    }
  },
  methods: {
    hideCard () {
      document.querySelectorAll('.hide-me').forEach(elm => {
        if (this.tags.length > 0) {
          this.tags.forEach(tag => {
            console.log(elm.innerHTML.toLowerCase().indexOf(tag.toLowerCase()) > -1)
            if (!(elm.innerHTML.toLowerCase().indexOf(tag.toLowerCase()) > -1)) {
              elm.classList.add('hide')
            } else {
              elm.classList.remove('hide')
            }
          })
        } else {
          elm.classList.remove('hide')
        }
      })
    }
  }
}