Vue.js简介及指令
1.Vue.js的特点
Vue.js是一个Javascript MVVM(Model-View-ViewModel)库,与传统Jquery的区别在于,Vue.js舍弃了繁杂的DOM操作,
如取DOM值$('#id1').val(),赋DOM值$('#id1').val('hello')
Vue.js DOM和Model通过ViewModel来实现关联,
ViewModel是Vue.js的核心,主要有两个事件DOM Listeners和Data Bindings
DOM Listeners:监听DOM值,变化时,更新Model对应值
Data Bindings:当Model对应值改变时,同步绑定到View
原理图如下:

2.Vue.js使用示例
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Title</title>
</head>
<body>
<!--view-->
<span id="myview">{{ message }}</span>
</body>
<script src="js/vue.js"></script>
<script>
// model
var mymodel = {
message: 'Hello World!'
}
//ViewModel
new Vue({
el: '#myview',
data: mymodel
})
</script>
</html>
运行结果:

代码分析:
mymodel:model数据层
v-model="message":view视图层,v-model定义了对应的model中的字段
new Vue({}):定义了view层元素id作用域内,对应的model
3.双向绑定示例
有Vue.js的原理,可知当View值改变时,对应的Model值也会变化;当Model值变化时, View值也会发生变化。
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Title</title>
</head>
<body>
<!--view-->
<input type="text" id="myview" v-model="message">
</body>
<script src="js/vue.js"></script>
<script>
// model
var mymodel = {
message: 'Hello World!'
}
//ViewModel
new Vue({
el: '#myview',
data: mymodel
})
</script>
</html>

4.Vue.js常用指令
v-if:判断指令
v-show:显示隐藏指令
v-else:判断指令(必须紧跟v-if,v-show使用)
v-for:循环指令
v-bind:绑定class指令
v-on:绑定事件指令
5.Vue.js指令使用示例
1)v-if,v-else
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Title</title>
</head>
<body>
<div id="my_info">
<span v-if="score>=9">popular language</span>
<span v-else>fewer language</span>
</div>
</body>
<script src="js/vue.js"></script>
<script>
// model
var mymodel = {
score: 8
}
//ViewModel
new Vue({
el: '#my_info',
data: mymodel
})
</script>
</html>
运行结果:

v-if="score>=9":v-if后接表达式
2)v-show,v-else
v-show表示display:block,display:none
3)v-for
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Title</title>
</head>
<body>
<table id="my_info">
<tr>
<th>name</th>
<th>score</th>
</tr>
<tr v-for="language in languages">
<td>{{ language.name }}</td>
<td>{{ language.score }}</td>
</tr>
</table>
</body>
<script src="js/vue.js"></script>
<script>
//ViewModel
new Vue({
el: '#my_info',
data: {
languages:[{
name: 'C',
score: 9
},{
name: 'Python',
score: 8.5
},{
name: 'Java',
score: 7
}]
}
})
</script>
</html>
运行结果:

4)v-bind,v-on
styles/index.css
.pagination li{
display: inline;
}
.pagination li a{
padding:6px 12px;
background-color: #fff;
border:1px solid #ddd;
text-decoration: none;
margin-left: -1px;
color: #009a61;
}
.pagination .active{
background-color: #009a61;
color: #fff;
}
index.html
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Title</title>
<link rel="stylesheet" href="styles/index.css" />
</head>
<body>
<div id="my_info">
<ul class="pagination">
<li v-for="n in pagecount">
<a href="javascript:void(0)" v-on:click="onpage(n+1)" v-bind:class="pagenum===n+1?'active':''">
{{ n+1 }}
</a>
</li>
</ul>
</div>
</body>
<script src="js/vue.js"></script>
<script>
//ViewModel
new Vue({
el: '#my_info',
data: {
pagenum: 1,
pagecount: 10
},
methods: {
onpage: function (index) {
this.pagenum = index;
}
}
})
</script>
</html>
运行结果:

el:绑定的view
data:model属性
methods:model方法
v-bind:class="pagenum===n+1?'active':''"
model的pagenum属性对应的值和索引一直,设置样式class为active
v-on:click="onpage(n+1)"
view绑定方法,click时执行model的onpage方法
Vue.js简介及指令的更多相关文章
- Vue.js简介
Vue.js简介 Vue.js的作者为Evan You(尤雨溪),任职于Google Creative Lab,虽然是Vue是一个个人项目,但在发展前景上个人认为绝不输于Google的AngularJ ...
- vue学习(一)、Vue.js简介
Vue.js 五天 汤小洋一. Vue.js简介1. Vue.js是什么Vue.js也称为Vue,读音/vju:/,类似view,错误读音v-u-e 版本:v1.0 v2.0 是一个构建用户界面的框架 ...
- Vue.js之常用指令
vue常用指令 vue.js官方给自己的定义是数据模板引擎,并给出了一套渲染数据的指令.本文详细介绍vue.js的常用指令. 官网:点我 一.v-text.v-html v-text:用于绑定文本 v ...
- 1.Vue.js的常用指令
Vue.js介绍 Vue.js是当下很火的一个JavaScript MVVM库,它是以数据驱动和组件化的思想构建的.相比于Angular.js,Vue.js提供了更加简洁.更易于理解的API,使得 ...
- Vue.js:自定义指令
ylbtech-Vue.js:自定义指令 1.返回顶部 1. Vue.js 自定义指令 除了默认设置的核心指令( v-model 和 v-show ), Vue 也允许注册自定义指令. 下面我们注册一 ...
- vue.js 简介
Vue.js是什么 Vue.js(读音 /vjuː/, 类似于 view) 是一套构建用户界面的 渐进式框架.与其他重量级框架不同的是,Vue 采用自底向上增量开发的设计.Vue 的核心库只关注视图层 ...
- Vue.js——常用的指令
1.v-on:指令监听DOM事件,并在触发时运行一些javaScript代码. <div id='myView'> <img src="img/se.png" v ...
- vue.js 四(指令和自定义指令)
官方的指令说明已经很简单了,这里再写一遍,也是自己加深一下印象 v-text 就是写入单纯的文本,可以忽略这个指令直接双花括号代替 <span v-text="msg"> ...
- Vue.js的简介
vue.js简介 Vue.js读音 /vjuː/, 类似于 view Vue.js是前端三大新框架:Angular.js.React.js.Vue.js之一,Vue.js目前的使用和关注程度在三大 ...
随机推荐
- PHP执行insert语句报错“Data too long for column”解决办法
PHP执行mysql 插入语句, insert语句在Navicat for mysql(或任意的mysql管理工具) 中可以正确执行,但是用mysql_query()函数执行却报错. 错误 : “Da ...
- 修改linux 最大文件限制数 ulimit
1)修改当前交互终端的limit值 查询当前终端的文件句柄数: ulimit -n 回车,一般的系统默认的1024. 修改文件句柄数为65535,ulimit -n 65535.此时系统的文件句柄数为 ...
- Linux主要shell命令详解(上)
[摘自网络] kill -9 -1即实现用kill命令退出系统 Linux主要shell命令详解 [上篇] shell是用户和Linux操作系统之间的接口.Linux中有多种shell,其中缺省使用的 ...
- 树莓派进阶之路 (021) - 3.2inch RPi LCD (B)
参考文档:http://www.waveshare.net/wiki/3.2inch_RPi_LCD_(B) 产品特点 320x240分辨率 电阻式触摸控制 兼容并可直接插入任何版本树莓派 提供Ras ...
- Android MD5校验码的生成与算法实现
在Java中,java.security.MessageDigest (rt.jar中)已经定义了 MD5 的计算,所以我们只需要简单地调用即可得到 MD5 的128 位整数.然后将此 128 位计 ...
- 【MyBatis】MyBatis之如何配置
1,MyBatis简介 MyBatis 是支持普通 SQL查询,存储过程和高级映射的优秀持久层框架.MyBatis 消除了几乎所有的JDBC代码和参数的手工设置以及结果集的检索.MyBatis 使用简 ...
- 【JQuery】jQuery(document).ready(function($) { });的几种表示方法及load和ready的区别
jQuery中处理加载时机的几种方式 第一种: jQuery(document).ready(function() { alert("你好"); }); //或 $(documen ...
- weblogic+eclipse插件部署多个项目
第一篇博客...上班时间不多废话,直接上图. 首先环境我就不说了,装好weblogic,eclipse,以及weblogic的插件. eclipse的weblogic插件能够从eclipse上的Hel ...
- matlab入门笔记(六):编程基础之M文件
摘自<matlab从入门到精通>胡晓东 在Matlab中,用户可以在命令行中直接输入命令,从而以一种交互式的方式来编写程序.这种方式适用于命令行比较简单,输入比较方便,同时处理的问题较少的 ...
- Intellij idea 配置热部署
1. 采用外部tomcat的配置 1)打开右上角Run的Edit Configuration进入Tomcat配置选项页面 2)将On frame deactivation选项更改为 Update ...