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实现jQuery的$.getJSON的解决方法
May 03 Javascript
JS延迟加载加快页面打开速度示例代码
Dec 30 Javascript
一个检测表单数据的JavaScript实例
Oct 31 Javascript
jQuery不使用插件及swf实现无刷新文件上传
Dec 08 Javascript
JQuery select(下拉框)操作方法汇总
Apr 15 Javascript
javascript 常见功能汇总
Jun 11 Javascript
自己动手写的javascript前端等待控件
Oct 30 Javascript
js获取指定字符前/后的字符串简单实例
Oct 27 Javascript
Javascript自定义事件详解
Jan 13 Javascript
vue实现未登录跳转到登录页面的方法
Jul 17 Javascript
Vue+Element ui 根据后台返回数据设置动态表头操作
Sep 21 Javascript
vuex页面刷新导致数据丢失的解决方案
Dec 10 Vue.js
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 数据结构 算法 三元组 Triplet
2011/07/02 PHP
深入PHP运行环境配置的详解
2013/06/04 PHP
PHP strcmp()和strcasecmp()的区别实例
2016/11/05 PHP
简单解决微信文章图片防盗链问题
2016/12/17 PHP
PHP用PDO如何封装简单易用的DB类详解
2017/07/30 PHP
IE autocomplete internet explorer's autocomplete
2007/06/30 Javascript
javascript window.opener的用法分析
2010/04/07 Javascript
JS实现弹出浮动窗口(支持鼠标拖动和关闭)实例详解
2015/08/06 Javascript
jquery实现滑屏大图定时收缩为小banner图片的广告代码
2015/09/02 Javascript
AngularJS 如何在控制台进行错误调试
2016/06/07 Javascript
Bootstrap零基础入门教程(二)
2016/07/18 Javascript
vue.js element-ui validate中代码不执行问题解决方法
2017/12/18 Javascript
不到200行 JavaScript 代码实现富文本编辑器的方法
2018/01/03 Javascript
vuex存值与取值的实例
2019/11/06 Javascript
[01:17]炒鸡美酒第四天TA暴走
2018/06/05 DOTA
Python yield使用方法示例
2013/12/04 Python
Python实现多条件筛选目标数据功能【测试可用】
2018/06/13 Python
深入浅析Python传值与传址
2018/07/10 Python
Python 移动光标位置的方法
2019/01/20 Python
Python网络爬虫之爬取微博热搜
2019/04/18 Python
Numpy中对向量、矩阵的使用详解
2019/10/29 Python
python实现电子词典
2020/03/03 Python
python动态规划算法实例详解
2020/11/22 Python
vue.js刷新当前页面的实例讲解
2020/12/29 Python
canvas学习笔记之2d画布基础的实现
2019/02/21 HTML / CSS
HTML5中的音频和视频媒体播放元素小结
2016/01/29 HTML / CSS
澳大利亚Mocha官方网站:包、钱包、珠宝和配饰
2019/07/18 全球购物
伦敦最受欢迎的蛋糕店:Konditor & Cook
2019/11/01 全球购物
学校消防演习方案
2014/02/19 职场文书
关于环保的活动方案
2014/08/25 职场文书
幼儿园教师自荐书
2015/03/06 职场文书
导游词之千岛湖
2019/09/23 职场文书
mysql死锁和分库分表问题详解
2021/04/16 MySQL
详解Python牛顿插值法
2021/05/11 Python
PostgreSQL事务回卷实战案例详析
2022/03/25 PostgreSQL
Python如何快速找到多个字典中的公共键(key)
2022/04/29 Python