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 支持链式调用的异步调用框架Async.Operation
Aug 04 Javascript
预加载css或javascript的js代码
Apr 23 Javascript
jQuery实现带动画效果的多级下拉菜单代码
Sep 08 Javascript
推荐10 个很棒的 jQuery 特效代码
Oct 04 Javascript
Node.js与Sails ~项目结构与Mvc实现及日志机制
Oct 14 Javascript
九种原生js动画效果
Nov 11 Javascript
分享我的jquery实现下拉菜单心的
Nov 29 Javascript
图解prototype、proto和constructor的三角关系
Jul 31 Javascript
原生js+css调节音量滑块
Jan 15 Javascript
微信小程序获取公众号文章列表及显示文章的示例代码
Mar 10 Javascript
javascrpt密码强度校验函数详解
Mar 18 Javascript
详解微信小程序「渲染层网络层错误」的解决方法
Jan 06 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 前一天或后一天的日期
2008/06/28 PHP
ajax取消挂起请求的处理方法
2013/03/18 PHP
基于initPHP的框架介绍
2013/04/18 PHP
ThinkPHP使用smarty模板引擎的方法
2014/07/01 PHP
PHP函数checkdnsrr用法详解(Windows平台用法)
2016/03/21 PHP
google 搜索框添加关键字实现代码
2010/04/24 Javascript
js,jQuery 排序的实现代码,网页标签排序的实现,标签排序
2011/04/27 Javascript
js confirm()方法的使用方法实例
2013/07/13 Javascript
JS解决ie6下png透明的方法实例
2013/08/02 Javascript
jQuery 的全选(全非选)即取得被选中的值使用介绍
2013/11/12 Javascript
jQuery中focus事件用法实例
2014/12/26 Javascript
jQuery中add()方法用法实例
2015/01/08 Javascript
NodeJS中利用Promise来封装异步函数
2015/02/25 NodeJs
Vue.js自定义指令的用法与实例解析
2017/01/18 Javascript
input file样式修改以及图片预览删除功能详细概括(推荐)
2017/08/17 Javascript
Angular4绑定html内容出现警告的处理方法
2017/11/03 Javascript
vue-router2.0 组件之间传参及获取动态参数的方法
2017/11/10 Javascript
Node.JS在命令行中检查Chrome浏览器是否安装并打开指定网址
2019/05/21 Javascript
vue实现分页加载效果
2019/12/24 Javascript
CKEditor扩展插件:自动排版功能autoformat插件实现方法详解
2020/02/06 Javascript
python简单判断序列是否为空的方法
2015/06/30 Python
python GUI实例学习
2017/11/21 Python
Django Web开发中django-debug-toolbar的配置以及使用
2018/05/06 Python
用python给自己做一款小说阅读器过程详解
2019/07/11 Python
使用Python为中秋节绘制一块美味的月饼
2019/09/11 Python
Python的对象传递与Copy函数使用详解
2019/12/26 Python
Python如何使用input函数获取输入
2020/08/06 Python
什么是View State?
2013/01/27 面试题
护理毕业生自荐信范文
2013/12/22 职场文书
大学三年的自我评价
2013/12/25 职场文书
信息科学与技术专业求职信范文
2014/02/20 职场文书
加强作风建设演讲稿
2014/10/24 职场文书
个人简历求职信范文
2015/03/20 职场文书
八月一日观后感
2015/06/10 职场文书
学习习近平主席讲话心得体会
2016/01/20 职场文书
使用Oracle命令进行数据库备份与还原
2021/12/06 Oracle