目录
- 一、Vue使用步骤
- step 1:新建 HTML 页面,引入 Vue.js文件
- step 2:在JS代码区域,创建Vue核心对象,进行数据绑定
- step 3:编写视图
- 整体结构
- 二、Vue 指令
- v-bind
- v-model
- v-on
- 条件判断指令
- v-for
- 三、生命周期
Vue 是一套前端框架,免除原生JavaScript中的DOM操作,简化书写。
在视图(网页)中输入之后需要用dom将其写入模型(后台赋值)中。
有了vue的MVVM思想,视图中输入直接赋值给模型
MVC是模型可以改视图,视图不能改模型
一、Vue使用步骤
step 1:新建 HTML 页面,引入 Vue.js文件
<script src="js/vue.js"></script>
step 2:在JS代码区域,创建Vue核心对象,进行数据绑定
new Vue({
el: "#app",
data() {
return {
username: ""
}
}
});
-
el
: 用来指定哪儿些标签受 Vue 管理。 该属性取值#app
中的app
是视图中的id值 -
data
:用来定义数据模型 -
methods
:用来定义函数。
step 3:编写视图
<div >
<input name="username" v-model="username" >
{{username}}
</div>
整体结构
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Title</title>
</head>
<body>
<div >
<input v-model="username">
<!--插值表达式-->
{{username}}
</div>
<script src="js/vue.js"></script>
<script>
//1. 创建Vue核心对象
new Vue({
el:"#app",
data(){ // data() 是 ECMAScript 6 版本的新的写法
return {
username:""
}
}
/*data: function () {
return {
username:""
}
}*/
});
</script>
</body>
</html>
二、Vue 指令
常用的指令有:
指令 |
作用 |
v-bind |
为HTML标签绑定属性值,如设置 href , css样式等 |
v-model |
在表单元素上创建双向数据绑定 |
v-on |
为HTML标签绑定事件 |
v-if |
条件性的渲染某元素,判定为true时渲染,否则不渲染 |
v-else |
|
v-else-if |
|
v-show |
根据条件展示某元素,区别在于切换的是display属性的值 |
v-for |
列表渲染,遍历容器的元素或者对象的属性 |
v-bind
该指令可以给标签原有属性绑定模型数据。这样模型数据发生变化,标签属性值也随之发生变化。例如:
<a v-bind:href="url">百度一下</a>
上面的 v-bind:"
可以简化写成 :
,如下:<a :href="url">百度一下</a>
<div >
<a :href="url">点击一下</a>
</div>
<script src="js/vue.js"></script>
<script>
new Vue({
el:"#app",
data(){
return {
username:"",
url:"https://www.baidu.com"
}
}
});
</script>
v-model
该指令可以给表单项标签绑定模型数据。这样就能实现双向绑定效果。例如:
<a :href="url">百度一下</a>
<input v-model="url">
前面改url后面的显示就改
v-on
在页面定义一个按钮,并给该按钮使用 v-on
指令绑定单击事件,html代码如下
<input type="button" value="一个按钮" v-on:click="show()">
而使用 v-on
时还可以使用简化的写法,将 v-on:
替换成 @
,html代码如下
<input type="button" value="一个按钮" @click="show()">
上面代码绑定的 show()
需要在 Vue 对象中的 methods
属性中定义出来
new Vue({
el: "#app",
methods: {
show(){
alert("我被点了");
}
}
});
注意:
v-on:
后面的事件名称是之前原生事件属性名去掉on。例如:
- 单击事件 : 事件属性名是 onclick,而在vue中使用是
v-on:click
- 失去焦点事件:事件属性名是 onblur,而在vue中使用时
v-on:blur
整体页面代码:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Title</title>
</head>
<body>
<div >
<input type="button" value="一个按钮" v-on:click="show()"><br>
<input type="button" value="一个按钮" @click="show()">
</div>
<script src="js/vue.js"></script>
<script>
//1. 创建Vue核心对象
new Vue({
el:"#app",
data(){
return {
username:"",
}
},
methods:{
show(){
alert("我被点了...");
}
}
});
</script>
</body>
</html>
条件判断指令
和java中if使用类似
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Title</title>
</head>
<body>
<div >
<div v-if="count == 3">div1</div>
<div v-else-if="count == 4">div2</div>
<div v-else>div3</div>
<hr>
<input v-model="count">
</div>
<script src="js/vue.js"></script>
<script>
//1. 创建Vue核心对象
new Vue({
el:"#app",
data(){
return {
count:3
}
}
});
</script>
</body>
</html>
v-for
这个指令看到名字就知道是用来遍历的,该指令使用的格式如下:
<标签 v-for="变量名 in 集合模型数据">
{{变量名}}
</标签>
注意:需要循环那个标签,
v-for
指令就写在那个标签上。
如果在页面需要使用到集合模型数据的索引,就需要使用如下格式:
<标签 v-for="(变量名,索引变量) in 集合模型数据">
<!--索引变量是从0开始,所以要表示序号的话,需要手动的加1-->
{{索引变量 + 1}} {{变量名}}
</标签>
三、生命周期
生命周期的八个阶段:每触发一个生命周期事件,会自动执行一个生命周期方法,这些生命周期方法也被称为钩子方法。
这些钩子方法我们只关注 mounted
就行了。mounted
:挂载完成,Vue初始化成功,HTML页面渲染成功。而以后我们会在该方法中发送异步请求,加载数据。