1.概述
- Vue 是一套前端框架,免除原生JavaScript中的DOM操作,简化书写。
- 基于MVVM(Model-View-ViewModel)思想,实现数据双向绑定,将变成的关注点放在数据上。
- 官网:
https://cn.vuejs.org
对比MVC:
2.Vue快速入门
1.新建html页面,引入Vue.js文件(可到官网下载)
<script src="js/vue.js"></script>
2.在js代码区域,创建Vue核心对象,进行数据绑定
new Vue({
el:"#app",
data(){
return{
username:""
}
}
});
-
el
: 用来指定哪儿些标签受 Vue 管理。 该属性取值#app
中的app
需要是受管理的标签的id属性值 -
data
:函数,用来定义数据模型
3.编写视图
<div id="app">
<input v-model="username">
<!--插值表达式-->
{{username}}
</div>
{{}}
是 Vue 中定义的插值表达式
,在里面写数据模型,到时候会将该模型的数据值展示在这个位置。
完整代码html:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Title</title>
</head>
<body>
<div id="app">
<input v-model="username">
<!--插值表达式-->
{{username}}
</div>
<script src="js/vue.js"></script>
<script>
//1.创建Vue核心对象
new Vue({
el:"#app",
data(){
return{
username:""
}
}
})
</script>
</body>
</html>
运行效果:
3.Vue常用指令
常用的指令有:
指令 | 作用 |
---|---|
v-bind | 为HTML标签绑定属性值,如设置 href , css样式等 |
v-model | 在表单元素上创建双向数据绑定 |
v-on | 为HTML标签绑定事件,如click,change,blur等 |
v-if | 条件性的渲染某元素,判定为true时渲染,否则不渲染 |
v-else | 同上 |
v-else-if | 同上 |
v-show | 根据条件展示某元素,区别在于切换的是display属性的值 |
v-for | 列表渲染,遍历容器的元素或者对象的属性 |
1).v-bind
<a v-bind:href="url">点击一下</a>
2).v-model
<input name="username" v-model="username">
3).v-on
<input type="button" value="一个按钮" v-on:click="show()">
//或者
<input type="button" value="一个按钮" @click="show()"><br>
4).v-if
<div id="app">
<div v-if="count==1">div1</div>
<div v-else-if="count==4">div2</div>
<div v-else>div3</div>
<input v-model="count">
</div>
5).v-show
<div v-show="count==1">div v-show</div>
<input v-model="count">
注:v-if和v-show两个指令渲染方式不同,v-if条件性的渲染某元素,判定为true时渲染,否则不渲染;v-show根据条件展示某元素,区别在于切换的是display属性的值。
6).v-for
<!-- addrs为定义好的数组 -->
<div v-for="addr in addrs">
{{addr}}<br>
</div>
<!--i为索引 -->
<div v-for="(addr,i) in addrs">
{{i+1}}--{{addr}}<br>
</div>
4.Vue生命周期
生命周期的八个阶段:每触发一个生命周期事件,会自动执行一个生命周期方法,这些生命周期方法也被称为钩子方法。
这些钩子方法重点关注 mounted
就行。
mounted
:挂载完成,Vue初始化成功,HTML页面渲染成功。可以在该方法中发送异步请求,加载数据。
mounted使用示例:
new Vue({
el:"#app",
mounted(){
alert("加载完成...")
}
});