时间:2021-05-26
一、需求场景
1、先来说说我的需求,有数据来源和标签类型两行选项,如下图所示:
2、根据需求,我需要在点击上面的某个数据来源的时候,下面的标签类型自动切换,
需求说明如下:
3、一开始 是想写死的,就是把各种情况写死在页面上,后来查看官方文档一会,数据来源的集合可以这样写,id为各个类型的标识,name为名称,mark为点击某个数据来源 的时候标签类型根据当前点击的数据来源进行判断切换。如下图:
infoTypeList: [ { id: 11, name: '新闻', mark: 'news' }, { id: 13, name: '论坛', mark: 'bbs' }, { id: 17, name: '微博', mark: 'wb' }, { id: 6, name: '微信', mark: 'wx' }, { id: 7, name: 'APP', mark: 'app' }, { id: 8, name: '平媒', mark: 'pm' }, { id: 20, name: '境外', mark: 'overseas' }, { id: 21, name: 'Facebook', mark: 'facebook' }, { id: 22, name: 'Twitter', mark: 'twitter' }],4、然后标签类型集合数据结构如下,其中mark字段存放哪些数据来源包含于当前标签。
markTypeList: [{id: 32,name: '主帖',mark: 'bbs'},{id: 33,name: '回帖',mark: 'bbs'},{id: 34,name: '原创',mark: 'wb'},{id: 35,name: '转发',mark: 'wb_wx'},{id: 36,name: '头条',mark: 'news_app_wx_pm'},{id: 37,name: '头图',mark: 'app'},{id: 38,name: '置顶',mark: 'app'},{id: 39,name: '要闻',mark: 'news'},{id: 40,name: '头版',mark: 'pm'},],5、在数据来源的各个名称中加入一个点击事件,data中存入一个变量infoTypeMark,用于保存点击的数据来源标识,我也数据来源的代码贴出来了。
<div v-if="isShowSingleInfoType"><label class="left-10">数据来源</label><span class="info-type activecolor" @click="changeInfoType(-1)">全部</span><span class="info-type" @click="changeInfoType(item.id, item.mark)" v-for="item in infoTypeList" :key="item.id">{{item.name}}</span><label class="multichoose"><Button @click="toggleInfoType" size="small">+多选</Button></label></div>6、重点是下面这一行代码,通过在v-show中添加表达式,用于判断点击新闻,应该显示头条和要闻,主要看标红的那块,代码如下:
<div class="layout-content-main"><label class="left-10">标签类型
</label><span class="mark-type activecolor" @click="changeMarkType(-1)">全部</span><span v-show="item.mark.indexOf(infoTypeMark) > -1" class="mark-type" @click="changeMarkType(item.id)" v-for="item in markTypeList" :key="item.id">{{item.name}}</span></div>总结
以上所述是小编给大家介绍的Vue中v-show添加表达式的问题(判断是否显示),希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对网站的支持!
声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。
目前前端框架太多,接触过angular、ember,现在开始倒腾vue此处用到v-if、v-else、v-show,v-if或让元素不在DOM上,v-show只
一、v-if显示单个元素注意else只能跟在v-if或者v-show后面Vue条件渲染显示我1显示我2varmyVue=newVue({el:".test",d
vue-router该如何使用忽然碰到一个常见的问题,明明可以使用v-if/v-show可以的解决的问题,有没有必要是使用vue-router来解决。比如常见的
Vue允许自定义过滤器可被用作一些常见的文本格式化过滤器可以用在两个地方:mustache插值表达式和v-bind表达式过滤器应被添加在JavaScript表达
Vue.js允许自定义过滤器,一般可以用在两个地方:双花括号插值和v-bind表达式(后者从2.1.0+开始支持)。过滤器应该被添加在JavaScript表达式