关于Vue中v-show中添加表达式用于判断是否显示的问题
2017-10-26 10:24
323 查看
Vue中v-show添加表达式的问题
一、需求场景
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>
如此就不用写那么多判断了,如上是我在开发的过程中遇到的一个小问题,
若有更好的方法,还希望告诉菜鸟我,3Q!
相关文章推荐
- Vue中v-show添加表达式的问题(判断是否显示)
- 关于Android添加、判断快捷方式是否已添加的问题
- QTP实例:新增用户实例,包含邮箱、手机号码的验证,还判断了添加账户是否已存在数据库的问题
- selenium+pyton关于判断元素是否存在的问题
- 怎样在水晶报表里判断是否是空值(水晶报表 汇总求和 空值 显示为 0.00 的问题)?
- 关于在Sqlite3中如何判断数据表返回的结果集是否为空的问题解决
- 关于VS2008 中添加成员变量提示 此网站的某个加载项运行失败 请检查“Internet选项”中的安全设置是否存在潜在冲突 问题解决办法
- 关于判断变量是否为null的顺序问题。
- 关于jQuery判断元素是否存在的问题示例探讨
- 关于jQuery判断元素是否存在的问题示例探讨
- duilib 修复CTreeViewUI控件动态添加子控件时,对是否显示判断不足的bug
- 关于判断jsoup中元素是否能获取到的问题
- 关于一个表达式判断2的幂的问题
- 转载 - C++ - 关于ifstream/fstream流 判断文件是否结束eof()的问题
- 关于opencv里,imshow和cvShowImage之后不显示的问题
- 关于VS中添加头文件时显示无法找到文件的问题
- 关于TdxTreeList控件中如何判断点CHECK标题是否已经选中或取消自己的问题?
- 关于VS2008 中添加成员变量提示 此网站的某个加载项运行失败 请检查“Internet选项”中的安全设置是否存在潜在冲突 问题解决办法
- 关于在navigationItem.titleView上添加button不显示问题