Vue.js实现按钮的动态绑定效果及实现代码


Posted in Javascript onAugust 21, 2017

实现效果:

Vue.js实现按钮的动态绑定效果及实现代码

实现代码以及注释:

<!DOCTYPE html>
<html>
<head>
  <title>按钮绑定</title>
  <meta charset="utf-8">
  <meta http-equiv="X-UA-Compatible" content="IE=edge">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <style type="text/css">
    *{
      margin: 0;
      padding: 0;
    }
    body{
      font: 15px/1.3 'Open Sans', sans-serif;
      color: #5e5b64;
      text-align: center;
    }
    a, a:visited{
      outline: none;
      color: #3b9dc1;
    }
    a:hover{
      text-decoration: none;
    }
    section, footer, header, aside, nav{
      display: block;
    }
    /* 菜单栏 */
    nav{
      display: inline-block;
      margin: 60px auto 45px;
      background-color: #5597b4;
      box-shadow: 0 1px 1px #ccc;
      border-radius: 2px;
    }
    nav a{
      display: inline-block;
      padding: 18px 30px;
      color: #fff !important;
      font-weight: bold;
      font-size: 16px;
      text-decoration: none !important;
      line-height: 1;
      text-transform: uppercase;
      background-color: transparent;
      -webkit-transition:background-color 0.25s;
      z-index: moz-transition:background-color 0.25s;
      transition:background-color 0.25s;
    }
    nav a:first-child{
      border-radius:2px 0 0 2px;
    }
    nav a:last-child{
      border-radius:0 2px 2px 0;
    }
    nav.home .home,
    nav.projects .projects,
    nav.services .services,
    nav.contact .contact{
      background-color:#e35885;
    }
    p{
      font-size:22px;
      font-weight:bold;
      color:#7d9098;
    }
    p b{
      color:#ffffff;
      display:inline-block;
      padding:5px 10px;
      background-color:#c4d7e0;
      border-radius:2px;
      text-transform:uppercase;
      font-size:18px;
    }
  </style>
</head>
<body>
<div id="main">
  <!--导航栏菜单会得到处于active的变量的值作为一个class -->
  <!-- 为了防止当我们点击链接时页面发生跳转,我们使用prevent优化 -->
  <nav v-bind:class="active" v-on:click.prevent>
    <!-- 当一个菜单中的链接被点击,我们调用定义在javaScript vue中的makeActive方法 -->
    <a href="#" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" class="home" v-on:click="makeActive('home')">Home</a>
    <a href="#" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" class="projects" v-on:click="makeActive('projects')">Projects</a>
    <a href="#" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" class="services" v-on:click="makeActive('services')">Services</a>
    <a href="#" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" class="contact" v-on:click="makeActive('contact')">Contact</a>
  </nav>
  <!-- mustache表达式将被active的值替换,它将发生任何变化它都将会自动更新-->
  <p>YOU SELECTED <b>{{active}}</b></p>
</div>
<script src="https://cdnjs.cloudflare.com/ajax/libs/vue/2.0.5/vue.min.js"></script>
<script type="text/javascript">
  // 创建一个Vue示例,并且传递一个可选对象
  var demo = new Vue({
    // 一个DOM元素表示我们的view模型
    el: '#main',
    // 定义属性值,给定初始化值
    data: {
      active: 'home'
    },
    // 我们需要使用到的函数
    methods: {
      makeActive: function(item){
        // 当一个model发生变化,view会自动更新
        this.active = item;
      }
    }
  });
</script>
</body>
</html>
Javascript 相关文章推荐
javascript 正则表达式相关应介绍
Nov 27 Javascript
css3元素简单的闪烁效果实现(html5 jquery)
Dec 28 Javascript
javascript中for/in循环及使用技巧
Sep 01 Javascript
JQuery对ASP.NET MVC数据进行更新删除
Jul 13 Javascript
js添加千分位的实现代码(超简单)
Aug 01 Javascript
JavaScript变量类型以及变量作用域详解
Aug 14 Javascript
前端html中jQuery实现对文本的搜索功能并把搜索相关内容显示出来
Nov 14 jQuery
Bootstrap modal只加载一次数据的解决办法(推荐)
Nov 24 Javascript
基于Vue的SPA动态修改页面title的方法(推荐)
Jan 02 Javascript
使用vue-route 的 beforeEach 实现导航守卫(路由跳转前验证登录)功能
Mar 22 Javascript
layUI实现三级导航菜单效果
Jul 26 Javascript
如何在JavaScript中等分数组的实现
Dec 13 Javascript
Node.js简单入门前传
Aug 21 #Javascript
详解基于webpack2.x的vue2.x的多页面站点
Aug 21 #Javascript
Vue中的ref作用详解(实现DOM的联动操作)
Aug 21 #Javascript
jquery动态赋值id与动态取id方法示例
Aug 21 #jQuery
详解webpack的配置文件entry与output
Aug 21 #Javascript
jQuery模拟爆炸倒计时功能实例代码
Aug 21 #jQuery
原生JS 购物车及购物页面的cookie使用方法
Aug 21 #Javascript
You might like
PHP抓取、分析国内视频网站的视频信息工具类
2014/04/02 PHP
PHP中spl_autoload_register()函数用法实例详解
2016/07/18 PHP
完美解决thinkphp唯一索引重复时出错的问题
2017/03/31 PHP
Laravel+Intervention实现上传图片功能示例
2019/07/09 PHP
Javascript判断对象是否相等实现代码
2013/03/18 Javascript
Ajax异步提交表单数据的说明及方法实例
2013/06/22 Javascript
JS文本框追加多个下拉框的值的简单实例
2013/07/12 Javascript
js写出遮罩层登陆框和对联广告并自动跟随滚动条滚动
2014/04/29 Javascript
使用JavaScript进行进制转换将字符串转换为十进制
2014/09/21 Javascript
jQuery实现控制文字内容溢出用省略号(…)表示的方法
2016/02/26 Javascript
AngularJS基础 ng-mouseover 指令简单示例
2016/08/02 Javascript
浅谈JavaScript中变量和函数声明的提升
2016/08/09 Javascript
canvas实现流星雨的背景效果
2017/01/13 Javascript
Angular2使用jQuery的方法教程
2017/05/28 jQuery
原生js FileReader对象实现图片上传本地预览效果
2020/03/27 Javascript
react-router browserHistory刷新页面404问题解决方法
2017/12/29 Javascript
Vue +WebSocket + WaveSurferJS 实现H5聊天对话交互的实例
2020/11/18 Vue.js
[46:55]完美世界DOTA2联赛决赛 FTD vs Phoenix 第三场 11.08
2020/11/11 DOTA
[48:18]DOTA2-DPC中国联赛 正赛 RNG vs Dynasty BO3 第二场 1月29日
2021/03/11 DOTA
使用 Python 获取 Linux 系统信息的代码
2014/07/13 Python
安装python3的时候就是输入python3死活没有反应的解决方法
2018/01/24 Python
Python 爬取携程所有机票的实例代码
2018/06/11 Python
django模板加载静态文件的方法步骤
2019/03/01 Python
浅谈PYTHON 关于文件的操作
2019/03/19 Python
12个Python程序员面试必备问题与答案(小结)
2019/06/24 Python
python的pytest框架之命令行参数详解(下)
2019/06/27 Python
解决Keras的自定义lambda层去reshape张量时model保存出错问题
2020/07/01 Python
英国家庭珠宝商:T. H. Baker
2018/02/08 全球购物
final, finally, finalize的区别
2012/03/01 面试题
编辑找工作求职信分享
2014/01/03 职场文书
进步之星获奖感言
2014/02/22 职场文书
人事任命书范文
2014/06/04 职场文书
酒店员工辞职信范文
2015/02/28 职场文书
班干部竞选演讲稿(精选5篇)
2019/09/24 职场文书
给原生html中添加水印遮罩层的实现示例
2021/04/02 Javascript
python之json文件转xml文件案例讲解
2021/08/07 Python