实际项目中,我们会遇到很多类似的需求,一个列表,需要点击其中一条高亮显示。熟悉JQuery的同学说这个太简单了。可以给这个选中的element设置一个active的class。配合Css样式,让active有选中高亮效果。但是谁说一定要用到jQuery呢。

  最近在做的项目中,我尝试脱离JQuery,绕过JQuery,我所接触的大部分项目中好像不使用JQuery无法进行开发一样。它确实给开发者提供了太多便利。以至于大部分web网站都依赖它运行着。据w3Techs统计,JQuery的市场份额高达94.9%,是时候脱离JQuery的束缚了。使用Vue.js更简洁,快速地实现。

  选中效果实现的核心实现逻辑是拷贝一份当前状态作为快照。比对列表的快照和当前的唯一索引,如果相同则视为选中。

Demo


使用Vue.js实现


javascript

new Vue({
el: "#app",
data: {
gameNames: ['魔兽世界', '暗黑破坏神Ⅲ', '星际争霸Ⅱ', '炉石传说', '风暴英雄',
'守望先锋'
],
activeName: ''
},
methods: {
selected: function(gameName) {
this.activeName = gameName
}
}
})

html

<div id="app">
<div class="collection">
<a href="#!" class="collection-item"
v-for="gameName in gameNames"
@click="selected(gameName)"
:class="{active: activeName == gameName}">{{gameName}}</a>
</div>
</div>

It's done. 非常简洁的代码就实现了选中高亮。View on jsfiddle

 
参考:https://segmentfault.com/a/1190000005600481

最新文章

  1. .net core快速上手
  2. frame中隐藏横向滚动条
  3. sql shard/partition
  4. jsoi2014前两轮回眸
  5. [Introduction to programming in Java 笔记] 1.3.8 Gambler&#39;s ruin simulation 赌徒破产模拟
  6. [Android Studio 权威教程]Windows下安装Android Studio
  7. 网站集成QQ登录功能(转)
  8. HTML超文本标记语言-基础标签整理
  9. css基础学习---简单理解
  10. [bzoj4874]筐子放球
  11. 在Linux系统安装Nodejs 最简单步骤
  12. IOS绘图的核心步骤
  13. [No0000189]改善C#程序的建议10:用Parallel简化Task
  14. IOT-web替换某一个前台版本
  15. poj1185 [NOI2001炮兵阵地]
  16. C++“隐藏实现,开放接口”的实现方案
  17. VB如何连接访问数据库Access
  18. 差分约束系统+(矩阵)思维(H - THE MATRIX PROBLEM HDU - 3666 )
  19. test20181024 qu
  20. 在权限受限制的AD域环境中部署SQL Server AlwaysOn高可用性

热门文章

  1. frp使用教程
  2. hive知识点总结
  3. 087_VS load codes for Salesforce
  4. 070_GET https://login.salesforce.com/17181/logo180.png 404 (Not Found)
  5. JDK下载很慢
  6. 【Linux】有名管道实现进程间通信——一个简单聊天程序
  7. StunServer
  8. 【当年笔记】Collection集合部分
  9. 【博客】如何在Github上创建博客
  10. windows terminal用ssh连接已重装的服务器提示REMOTE HOST IDENTIFICATION HAS CHANGED!