点击热门时,如何将内容替换为新查询的结果(getPopular)?
( v-for="casino in allCasinos“需要显示: v-for="casino in getPopular”)
<div @click="activate(1); getPopular();">Popular</div>
<div @click="activate(2); getNew();">New</div>
<div id="list" v-for="casino in allCasinos" :key="casino.name">
<div v-if="$apollo.loading">Loading...</div>
<div>{{ casino.name}}</div>
</div>
<script>
import gql from 'graphql-tag';
methods: {
activate:function(el){
this.active_el = el;
},
},
apollo: {
allCasinos: gql`{
allCasinos(limit: 6) {
name,
}
}`,
getPopular: gql`{
getPopular(limit: 6) {
name,
}
}`,
getNew gql`{
getNew(limit: 6) {
name,
}
}`,
</script>发布于 2019-04-05 20:07:47
您可以定义一个本地数据属性casinos,用于存储要显示的当前赌场集。您可以在每个click处理程序中设置casinos的值。最后,您可以在v-for中使用casinos而不是allCasinos
<div @click="activate(1); casinos = getPopular();">Popular</div>
<div @click="activate(2); casinos = getNew();">New</div>
<div id="list" v-for="casino in casinos" :key="casino.name">
<div v-if="$apollo.loading">Loading...</div>
<div>{{ casino.name}}</div>
</div>
<script>
import gql from 'graphql-tag';
data: function () {
return {
casinos: this.allCasinos
}
},https://stackoverflow.com/questions/55534451
复制相似问题