【前端】vue.js实现按钮的动态绑定
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="#" class="home" v-on:click="makeActive('home')">Home</a>
<a href="#" class="projects" v-on:click="makeActive('projects')">Projects</a>
<a href="#" class="services" v-on:click="makeActive('services')">Services</a>
<a href="#" 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>
【前端】vue.js实现按钮的动态绑定的更多相关文章
- Web前端-Vue.js必备框架(三)
Web前端-Vue.js必备框架(三) vue是一款渐进式javascript框架,由evan you开发.vue成为前端开发的必备之一. vue的好处轻量级,渐进式框架,响应式更新机制. 开发环境, ...
- Web前端-Vue.js必备框架(一)
Web前端-Vue.js必备框架(一) <!DOCTYPE html> <html lang="en"> <head> <meta cha ...
- Web前端-Vue.js必备框架(五)
Web前端-Vue.js必备框架(五) 页面组件,商品列表组件,详情组件,购物车清单组件,结算页组件,订单详情组件,订单列表组件. vue-router 路由 vuex 组件集中管理 webpack ...
- Web前端-Vue.js必备框架(四)
Web前端-Vue.js必备框架(四) 计算属性: <div id="aaa"> {{ message.split('').reverse().join('') }} ...
- Web前端-Vue.js必备框架(二)
Web前端-Vue.js必备框架(二) vue调式工具vue-devtools 过滤器:vue.js允许你自定义过滤器,可被用作一些常见的文本格式化. mustache插值和v-bind表达式. vu ...
- web前端——Vue.js基础学习
近期项目的前端页面准备引入Vue.js,看了网上一些简介,及它和JQuery的对比,发现对于新入门的前端开发来说,Vue 其实也是比较适用的一个框架,其实用性不比JQuery差,感觉还挺有意思,于是研 ...
- 前端——Vue.js学习总结一
一.什么是Vue.js 1.Vue.js 是目前最火的一个前端框架,React是最流行的一个前端框架 2.Vue.js 是前端的主流框架之一,和Angular.js.React.js 一起,并成为前端 ...
- 偏前端-vue.js学习之路初级(一)概念
首先--不推荐新手直接使用 vue-cli,尤其是在你还不熟悉基于 Node.js 的构建工具时. 新建一个html,引入一下js: <!-- 开发环境版本,包含了有帮助的命令行警告 -- ...
- Web - 前端 Vue.js (1)
Vue.js是当下很火的一个JavaScript MVVM库,它是以数据驱动和组件化的思想构建的.相比于Angular.js,Vue.js提供了更加简洁.更易于理解的API,使得我们能够快速地上手并使 ...
随机推荐
- [iOS微博项目 - 4.1] - cell的frame模型
github: https://github.com/hellovoidworld/HVWWeibo A.cell的frame模型设计 1.需求 每个cell都有一个frame实例引用 frame模型 ...
- c#使用FastReports打印
private void btnprint_Click(object sender, EventArgs e) { //报表路径 string path = Application.StartupPa ...
- activate mod_rewrite How To Set Up mod_rewrite for Apache on Ubuntu 14.04 Apache Rewrite url重定向功能的简单配置
https://www.digitalocean.com/community/tutorials/how-to-set-up-mod_rewrite-for-apache-on-ubuntu-14-0 ...
- TFTP服务器 NFS服务器 smb 、wireshark
在嵌入式开发过程中有宿主机和目标机的角色之分 宿主机是执行编译.链接嵌入式软件的计算机:目标机是运行嵌入式软件的硬件平台 宿主机一般通过网络.USB.JTAG等方式将软件下载到目标机. 网络下载:tf ...
- FileZilla使用
FileZilla是一个免费开源的FTP软件,分为客户端版本和服务器版本,具备所有的FTP软件功能.可控性.有条理的界面和管理多站点的简化方式使得Filezilla客户端版成为一个方便高效的FTP客户 ...
- 模块讲解----shutil模块(copy、压缩、解压)
作用与功能 主要用于文件的copy,压缩,解压 导入shuitl模块: import shutil copy方法 1.shutil.copyfileobj() 打开file1,并copy写入file ...
- C++实现去掉string字符串前后的空白字符
C++标准库提供的字符串类string没有提供类似CString中Trim方法,该方法功能为去除字符串前后的空白字符.利用string自身一些方法可以很容易实现该功能. 如下: void Trim(s ...
- iClap是什么,能解决什么问题?
移动互联网时代,APP体验度.用户粘性和活跃度关乎企业命脉,但是市面上使用的办公工具却不足以解决企业存在的问题,iClap应运而生,颠覆互联网企业的传统协作方式,改变了种子用户与企业的互动方式,为企业 ...
- [转]VMware-Transport(VMDB) error -44:Message.The VMware Authorization Service is not running解决方案
转自:http://blog.sina.com.cn/s/blog_70c9c4b40101i01v.html 1.VMware Workstation中新建的虚拟机在开机的时候出现这种错误:Tran ...
- Java-线程池专题(什么是线程池,如何使用,为什么要用)
1.什么是线程池: java.util.concurrent.Executors提供了一个 java.util.concurrent.Executor接口的实现用于创建线程池 多线程技术主要解决处理 ...