简介:
Vue.js(读音 /vjuː/, 类似于 view) 是一套构建用户界面的 渐进式框架。与其他重量级框架不同的是,Vue 采用自底向上增量开发的设计。Vue 的核心库只关注视图层,并且非常容易学习,非常容易与其它库或已有项目整合。Vue.js 的目标是通过尽可能简单的 API 实现响应的数据绑定和组合的视图组件。
原理:
MVVM:其实是Model-View-ViewModel的缩写,有3个单词,具体释义如下:
如图所示就是MVVM开发思想的含义:
DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Vue-快速入门title>
<script src="js/vue.js">script>
head>
<body>
<div id="app">
<input type="text" v-model="message">
{{message}}
div>
body>
<script>
//定义Vue对象
new Vue({
el: "#app", //vue接管区域
data:{
message: "Hello Vue"
},
methods:{
}
})
script>
html>
指令 | 作用 |
---|---|
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 | 为HTML标签绑定属性值,如设置 href , css样式等 |
v-model | 在表单元素上创建双向数据绑定 |
<a v-bind:href="url">链接1a>
<a :href="url">链接2a>
<script>
//定义Vue对象
new Vue({
el: "#app", //vue接管区域
data:{
message: "Hello Vue",
url:"https://www.baidu.com"
},
methods:{
}
})
script>
v-model: 在表单元素上创建双向数据绑定。什么是双向?
data属性中数据变化,我们知道可以通过赋值来改变,但是视图数据为什么会发生变化呢?只有表单项标签!所以双向绑定一定是使用在表单项标签上的。编写如下代码:
<a v-bind:href="url">链接1a>
<input type="text" v-model="url">
<script>
//定义Vue对象
new Vue({
el: "#app", //vue接管区域
data:{
message: "Hello Vue",
url:"https://www.baidu.com"
},
methods:{
}
})
script>
表单项标签:
:用于创建一个表单输入框,可以输入文本、密码、日期、数字等。
:用于创建一个多行文本输入框。
:用于创建一个下拉选择框,用户可以从预定义的选项中选择一个或多个选项。
:用于创建一个复选框,用户可以从多个选项中选择一个或多个选项。
:用于创建一个单选按钮,用户可以从多个选项中选择一个选项。
:用于创建一个按钮,用户可以点击执行特定的操作。
:用于创建一个提交按钮,用于提交整个表单内容。
:用于创建一个重置按钮,用于将表单内容重置为初始状态。
:用于创建一个标签,用于描述表单字段的用途或说明。
:用于创建一个字段集,用于将相关的表单字段组合在一起。
:用于创建字段集的标题,描述字段集的内容。
指令 | 作用 |
---|---|
v-on | 用来给html标签绑定事件的 |
<input type="button" value="点我一下" v-on:click="demo()">
<script>
//定义Vue对象
new Vue({
el: "#app", //vue接管区域
data:{
},
methods: {
demo: function(){
alert("你点我了一下...");
}
}
})
script>
指令 | 描述 |
---|---|
v-if | 条件性的渲染某元素,判定为true时渲染,否则不渲染 |
v-if-else | |
v-else | |
v-show | 根据条件展示某元素,区别在于切换的是display属性的值 |
年龄<input type="text" v-model="age">经判定,为:
<span v-if="age <= 35">年轻人(35及以下)span>
<span v-else-if="age > 35 && age < 60">中年人(35-60)span>
<span v-else>老年人(60及以上)span>
<script>
// 定义 Vue 对象
new Vue({
el: "#app",
data: {
age: 20
}
})
script>
年龄<input type="text" v-model="age">经判定,为:
<span v-show="age <= 35">年轻人(35及以下)span>
<span v-show="age > 35 && age < 60">中年人(35-60)span>
<span v-show="age >= 60">老年人(60及以上)span>
<script>
// 定义 Vue 对象
new Vue({
el: "#app",
data: {
age: 20
}
})
script>
指令 | 描述 |
---|---|
v-for | 列表渲染,遍历容器的元素或者对象的属性 |
<标签 v-for="变量 in 列表">{{变量名}}标签>
<标签 v-for="(变量名,索引变量) in 列表">{{索引变量 + 1}} {{变量名}}标签>
<div id="app">
<div v-for="addr in addrs">{{addr}}div>
<hr>
<div v-for="(addr,index) in addrs">{{index + 1}} : {{addr}}div>
div>
<script>
//定义Vue对象
new Vue({
el: "#app", //vue接管区域
data:{
addrs:["北京", "上海", "西安", "成都", "深圳"]
},
methods: {
}
})
script>
状态 | 阶段周期 |
---|---|
beforeCreate | 创建前 |
created | 创建后 |
beforeMount | 挂载前 |
mounted | 挂载完成 |
beforeUpdate | 更新前 |
updated | 更新后 |
beforeDestroy | 销毁前 |
destroyed | 销毁后 |
mounted:挂载完成,Vue初始化成功,HTML页面渲染成功以后我们一般用于页面初始化自动的ajax(axios)请求后台数据
<script>
//定义Vue对象
new Vue({
el: "#app", //vue接管区域
data:{
},
methods: {
},
mounted () {
alert("vue挂载完成,发送请求到服务端")
}
})
script>