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使用prototype定义对象类型(转)[
Dec 22 Javascript
javascript中最常用的继承模式 组合继承
Aug 12 Javascript
Javascript延迟执行实现方法(setTimeout)
Dec 30 Javascript
Js表格万条数据瞬间加载实现代码
Feb 20 Javascript
javascript 中that的含义示例介绍
May 14 Javascript
javascript产生随机数方法汇总
Jan 25 Javascript
JavaScript html5 canvas绘制时钟效果
Mar 01 Javascript
Chrome不支持showModalDialog模态对话框和无法返回returnValue问题的解决方法
Oct 30 Javascript
原生javascript实现读写CSS样式的方法详解
Feb 20 Javascript
jQuery实现动态生成表格并为行绑定单击变色动作的方法
Apr 17 jQuery
gulp安装以及打包合并的方法教程
Nov 19 Javascript
在Vue中使用icon 字体图标的方法
Jun 14 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读取文件内容的几种方法详解
2013/06/26 PHP
php查询相似度最高的字符串的方法
2015/03/12 PHP
功能强大的PHP POST提交数据类
2016/07/15 PHP
php array_reverse 以相反的顺序返回数组实例代码
2017/04/11 PHP
搭建自己的PHP MVC框架详解
2017/08/16 PHP
定位地理位置PHP判断员工打卡签到经纬度是否在打卡之内
2019/05/23 PHP
jQuery滚动加载图片效果的实现
2013/03/06 Javascript
js 获取、清空input type=&quot;file&quot;的值(示例代码)
2013/12/24 Javascript
js读取被点击次数的简单实例(从数据库中读取)
2014/03/07 Javascript
JavaScript遍历table表格中的某行某列并打印其值
2014/07/08 Javascript
jQuery实现定时读取分析xml文件的方法
2015/07/16 Javascript
js电话号码验证方法
2015/09/28 Javascript
第一次动手实现bootstrap table分页效果
2016/09/22 Javascript
jQuery grep()方法详解及实例代码
2016/10/30 Javascript
基于vue的下拉刷新指令和滚动刷新指令
2016/12/23 Javascript
微信小程序 tabs选项卡效果的实现
2017/01/05 Javascript
简单实现IONIC购物车功能
2017/01/10 Javascript
Javascript中click与blur事件的顺序详析
2017/04/25 Javascript
webuploader分片上传的实现代码(前后端分离)
2018/09/10 Javascript
Vue管理系统前端之组件拆分封装详解
2020/08/23 Javascript
element中Steps步骤条和Tabs标签页关联的解决
2020/12/08 Javascript
Python3实现从指定路径查找文件的方法
2015/05/22 Python
selenium + python 获取table数据的示例讲解
2018/10/13 Python
django的分页器Paginator 从django中导入类
2019/07/25 Python
python dataframe NaN处理方式
2019/12/26 Python
深入了解Python 变量作用域
2020/07/24 Python
Html5游戏开发之乒乓Ping Pong游戏示例(三)
2013/01/21 HTML / CSS
SIDESTEP荷兰:在线购买鞋子
2019/11/18 全球购物
WEB控件可以激发服务端事件,请谈谈服务端事件是怎么发生并解释其原理?自动传回是什么?为什么要使用自动传回?
2012/02/21 面试题
教师自我鉴定
2013/12/13 职场文书
银行开业庆典方案
2014/02/06 职场文书
运动会演讲稿
2014/05/07 职场文书
实习单位指导教师评语
2014/12/30 职场文书
2019年警察入党转正申请书最新范文
2019/09/03 职场文书
python实现ROA算子边缘检测算法
2021/04/05 Python
学会用Python实现滑雪小游戏,再也不用去北海道啦
2021/05/20 Python