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 相关文章推荐
一个js封装的不错的选项卡效果代码
Feb 15 Javascript
JS 的应用开发初探(mootools)
Dec 19 Javascript
一个基于jquery的文本框记数器
Sep 19 Javascript
PHP实现的各种中文编码转换类分享
Jan 23 Javascript
js实现点击向下展开的下拉菜单效果代码
Sep 01 Javascript
JavaScript识别网页关键字并进行描红的方法
Nov 09 Javascript
JavaScript tab选项卡插件实例代码
Feb 23 Javascript
通过jquery实现页面的动画效果(实例代码)
Sep 18 Javascript
jQuery Ajax 实现在html页面实时显示用户登录状态
Dec 30 Javascript
angularJS利用ng-repeat遍历二维数组的实例代码
Jun 03 Javascript
js中apply()和call()的区别与用法实例分析
Aug 14 Javascript
vue 路由子组件created和mounted不起作用的解决方法
Nov 05 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
UTF8编码内的繁简转换的PHP类
2009/07/09 PHP
php侧拉菜单 漂亮,可以向右或者向左展开,支持FF,IE
2009/10/15 PHP
WordPress开发中用于获取近期文章的PHP函数使用解析
2016/01/05 PHP
PHP图像处理 imagestring添加图片水印与文字水印操作示例
2020/02/06 PHP
JavaScript 应用技巧集合[推荐]
2009/08/30 Javascript
Javascript var变量隐式声明方法
2009/10/19 Javascript
jQuery对表单的操作代码集合
2011/04/06 Javascript
uploadify在Firefox下丢失session问题的解决方法
2013/08/07 Javascript
JavaScript类型系统之Object详解
2016/01/07 Javascript
jQuery简单实现上下,左右滑动的方法
2016/06/01 Javascript
解决ajax不能访问本地文件问题(利用js跨域原理)
2017/01/24 Javascript
一次围绕setTimeout的前端面试经验分享
2017/06/15 Javascript
在 Angular 中使用Chart.js 和 ng2-charts的示例代码
2017/08/17 Javascript
史上最全JavaScript常用的简写技巧(推荐)
2017/08/17 Javascript
解决vue router组件状态刷新消失的问题
2018/08/01 Javascript
React中如何引入Angular组件详解
2018/08/09 Javascript
详解小程序缓存插件(mrc)
2018/08/17 Javascript
深入理解JavaScript 箭头函数
2019/05/30 Javascript
在Vue中使用Echarts可视化库的完整步骤记录
2020/11/18 Vue.js
python一键升级所有pip package的方法
2017/01/16 Python
PyCharm在新窗口打开项目的方法
2019/01/17 Python
Python如何实现转换URL详解
2019/07/02 Python
python读写配置文件操作示例
2019/07/03 Python
Python读取实时数据流示例
2019/12/02 Python
python3中的logging记录日志实现过程及封装成类的操作
2020/05/12 Python
深入剖析HTML5 内联框架iFrame
2016/05/04 HTML / CSS
MySQL面试题
2014/01/12 面试题
销售冠军获奖感言
2014/02/03 职场文书
工作违纪检讨书
2014/02/17 职场文书
安全演讲稿大全
2014/05/09 职场文书
最美家庭活动方案
2014/08/31 职场文书
党支部四风整改方案
2014/10/25 职场文书
员工考勤管理制度
2015/08/06 职场文书
Java生成读取条形码和二维码的简单示例
2021/07/09 Java/Android
4种方法python批量修改替换列表中元素
2022/04/07 Python
MongoDB支持的数据类型
2022/04/11 MongoDB