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 相关文章推荐
JQuery 表单中textarea字数限制实现代码
Dec 07 Javascript
11种ASP连接数据库的方法
Sep 18 Javascript
浅析vue数据绑定
Jan 17 Javascript
图文详解Javascript中的上下文和作用域
Feb 15 Javascript
使用jQuery实现一个类似GridView的编辑,更新,取消和删除的功能
Mar 15 Javascript
详解用webpack2.0构建vue2.0超详细精简版
Apr 05 Javascript
详解从买域名到使用pm2部署node.js项目全过程
Mar 07 Javascript
教你如何用node连接redis的示例代码
Jul 12 Javascript
如何利用ES6进行Promise封装总结
Feb 11 Javascript
详解vue beforeRouteEnter 异步获取数据给实例问题
Aug 09 Javascript
vue Cli 环境删除与重装教程 - 版本文档
Sep 11 Javascript
JavaScript的Set数据结构详解
Feb 18 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
echo, print, printf 和 sprintf 区别
2006/12/06 PHP
php实现把数组按指定的个数分隔
2014/02/17 PHP
PHP之autoload运行机制实例分析
2014/08/28 PHP
一个非常完美的读写ini格式的PHP配置类分享
2015/02/12 PHP
PHP中$_SERVER使用说明
2015/07/05 PHP
php设计模式之装饰模式应用案例详解
2019/06/17 PHP
使用jQuery Ajax功能时需要注意的一个问题(内存溢出)
2012/05/30 Javascript
JavaScript var声明变量背后的原理示例解析
2013/10/12 Javascript
javascript判断是否按回车键并解决浏览器之间的差异
2014/05/13 Javascript
jQuery.lazyload+masonry改良图片瀑布流代码
2014/06/20 Javascript
将HTML格式的String转化为HTMLElement的实现方法
2014/08/07 Javascript
jQuery数据缓存用法分析
2015/02/20 Javascript
JavaScript SweetAlert插件实现超酷消息警告框
2016/01/28 Javascript
Javascript实现代码折叠功能
2016/08/25 Javascript
js 简易版滚动条实例(适用于移动端H5开发)
2017/06/26 Javascript
关于Vue Router中路由守卫的应用及在全局导航守卫中检查元字段的方法
2018/12/09 Javascript
如何为vue的项目添加单元测试
2018/12/19 Javascript
JavaScript多种页面刷新方法小结
2019/04/04 Javascript
vue使用一些外部插件及样式的配置代码
2019/11/18 Javascript
python数据结构树和二叉树简介
2014/04/29 Python
Pyhthon中使用compileall模块编译源文件为pyc文件
2015/04/28 Python
Python中enumerate函数代码解析
2017/10/31 Python
Python实现的合并两个有序数组算法示例
2019/03/04 Python
python环境路径配置以及命令行运行脚本
2019/04/02 Python
使用OpenCV-python3实现滑动条更新图像的Canny边缘检测功能
2019/12/12 Python
Pycharm2020最新激活码|永久激活(附最新激活码和插件的详细教程)
2020/09/29 Python
pycharm进入时每次都是insert模式的解决方式
2021/02/05 Python
高级销售员求职信
2013/10/25 职场文书
大学自主招生自荐信
2013/12/16 职场文书
初一英语教学反思
2014/01/11 职场文书
爱与责任师德演讲稿
2014/08/26 职场文书
遗愿清单观后感
2015/06/09 职场文书
开工典礼致辞
2015/07/29 职场文书
一篇文章弄懂MySQL查询语句的执行过程
2021/05/07 MySQL
python机器学习创建基于规则聊天机器人过程示例详解
2021/11/02 Python
pytorch中的 .view()函数的用法介绍
2022/03/17 Python