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 浏览器验证代码(来自discuz)
Jul 17 Javascript
Javascript 异步加载详解(浏览器在javascript的加载方式)
May 20 Javascript
使用jquery的ajax需要注意的地方dataType的设置
Aug 12 Javascript
JS弹出可拖拽可关闭的div层完整实例
Feb 13 Javascript
JavaScript代码判断点击第几个按钮
Dec 13 Javascript
纯JavaScript手写图片轮播代码
Oct 20 Javascript
原生js实现回复评论功能
Jan 18 Javascript
javascript实现二叉树遍历的代码
Jun 08 Javascript
微信小程序组件之srcoll-view的详解
Oct 19 Javascript
jquery实现动态创建form并提交的方法示例
May 27 jQuery
在Vue中使用this.$store或者是$route一直报错的解决
Nov 08 Javascript
vue自定义右键菜单之全局实现
Apr 09 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数组操作汇总 php数组的使用技巧
2011/07/17 PHP
Smarty中常用变量操作符汇总
2014/10/27 PHP
PHP生成静态HTML页面最简单方法示例
2015/04/09 PHP
百度工程师讲PHP函数的实现原理及性能分析(二)
2015/05/13 PHP
php生成curl命令行的方法
2015/12/14 PHP
Yii2.0 RESTful API 基础配置教程详解
2018/12/26 PHP
PHP使用openssl扩展实现加解密方法示例
2020/02/20 PHP
javascript &amp;&amp;和||运算法的另类使用技巧
2009/11/28 Javascript
利用js实现前台动态添加文本框,后台获取文本框内容(示例代码)
2013/11/25 Javascript
javascript实现十六进制颜色值(HEX)和RGB格式相互转换
2014/06/20 Javascript
BootStrap的table表头固定tbody滚动的实例代码
2016/08/24 Javascript
jQuery鼠标事件总结
2016/10/13 Javascript
详解jQuery中ajax.load()方法
2017/01/25 Javascript
用nodejs实现json和jsonp服务的方法
2017/08/25 NodeJs
纯JavaScript实现实时反馈系统时间
2017/10/26 Javascript
react router4+redux实现路由权限控制的方法
2018/05/03 Javascript
小程序页面动态配置实现方法
2019/02/05 Javascript
Vue3.0中的monorepo管理模式的实现
2019/10/14 Javascript
vuex(vue状态管理)的特殊应用案例分享
2020/03/03 Javascript
学习python (2)
2006/10/31 Python
python脚本实现分析dns日志并对受访域名排行
2014/09/18 Python
教大家玩转Python字符串处理的七种技巧
2017/03/31 Python
Python实现全排列的打印
2018/08/18 Python
对python 操作solr索引数据的实例详解
2018/12/07 Python
对Python3 pyc 文件的使用详解
2019/02/16 Python
python3常用的数据清洗方法(小结)
2019/10/31 Python
HTML5 常见面试题之PC端和移动端区别介绍
2018/01/22 HTML / CSS
高性能钓鱼服装:Huk Gear
2019/02/20 全球购物
Johnson Fitness澳大利亚:高级健身器材
2021/03/16 全球购物
.net软件工程师面试题
2015/03/31 面试题
short s1 = 1; s1 = s1 + 1;有什么错? short s1 = 1; s1 += 1;有什么错?
2014/09/26 面试题
关于元旦的广播稿
2014/02/16 职场文书
大学信息公开实施方案
2014/03/09 职场文书
媒体宣传策划方案
2014/05/25 职场文书
幼儿园教师师德师风承诺书
2015/04/28 职场文书
vue使用echarts实现折线图
2022/03/21 Vue.js