Vue.js 如果元素不存在,则隐藏它';t匹配v型
我所做的有点像一个标签搜索系统。我现在正在使用vuetify 1.0.19制作芯片。标签的v型是一个数组。现在,如果它与卡()中的芯片不匹配,我想隐藏那张卡。我有点想使用jQuery的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
.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')
}
})
}
}
}