-
- 2.1. 2.1 下载Vuejs
- 2.2. 2.2 Vue第一个入门应用
-
- 3.1. 3.1 v-text
- 3.2. 3.2 v-html
-
- 4.1. 4.1 绑定事件基本语法
- 4.2. 4.2 Vue中事件的简化语法
- 4.3. 4.3 Vue事件函数两种写法
- 4.4. 4.4 Vue事件参数传递
-
- 5.1. 5.1 v-show
- 5.2. 5.2 v-if
- 5.3. 5.3 v-bind
- 5.4. 5.4 v-bind 简化写法
-
- 8.1. 8.1 stop事件修饰符
- 8.2. 8.2 prevent 事件修饰符
- 8.3. 8.3 self 事件修饰符
- 8.4. 8.4 once 事件修饰符
-
- 9.1. 9.1 enter 回车键
- 9.2. 9.2 tab 键
-
- 10.1. 10.1 引言
- 10.2. 10.2 Axios 第一个程序
- 10.2.1. 10.2.1 GET方式的请求
- 10.2.2. 10.2.2 POST方式请求
- 10.2.3. 10.2.3 axios并发请求
-
- 12.1. 12.1 组件作用
- 12.2. 12.2 组件使用
- 12.2.1. 12.2.1 全局组件注册
- 12.2.2. 12.2.2 局部组件注册
- 12.3. 12.3 Prop的使用
- 12.3.1. 12.3.1 通过在组件上声明静态数据传递给组件内部
- 12.3.2. 12.3.2 通过在组件上声明动态数据传递给组件内部
- 12.3.3. 12.3.3 prop的单向数据流
- 12.4. 12.4 组件中定义数据和事件使用
- 12.5. 12.5 向子组件中传递事件并在子组件中调用改事件
-
- 13.1. 13.4 router-link使用
- 13.2. 13.5 默认路由
- 13.3. 13.6 路由中参数传递
- 13.4. 13.7 嵌套路由
-
- 14.1. 14.1 什么是CLI
- 14.2. 14.2 什么是Vue CLI
- 14.3. 14.3 Vue CLI优势
- 14.4. 14.4 Vue CLI安装
-
- 15.1. 15.1 安装axios
Vue实战
转载自百知教育 —陈艳男的笔记
1. 1. Vue 引言
渐进式
JavaScript 框架 –摘自官网
1 | # 渐进式 |
2. 2. Vue入门
2.1. 2.1 下载Vuejs
1 | //开发版本: |
2.2. 2.2 Vue第一个入门应用
1 | <div id="app"> |
1 | # 总结: |
3. 3. v-text和v-html
3.1. 3.1 v-text
v-text
:用来获取data中数据将数据以文本的形式渲染到指定标签内部 类似于javascript 中 innerText
1 | <div id="app" class="aa"> |
1 | # 总结 |
3.2. 3.2 v-html
v-html
:用来获取data中数据将数据中含有的html标签先解析在渲染到指定标签的内部 类似于javascript中 innerHTML
1 | <div id="app" class="aa"> |
4. 4.vue中事件绑定(v-on)
4.1. 4.1 绑定事件基本语法
1 | <div id="app"> |
1 | # 总结: |
4.2. 4.2 Vue中事件的简化语法
1 | <div id="app"> |
1 | # 总结: |
4.3. 4.3 Vue事件函数两种写法
1 | <div id="app"> |
1 | # 总结: |
4.4. 4.4 Vue事件参数传递
1 | <div id="app"> |
1 | # 总结: |
5. 5.v-show v-if v-bind
5.1. 5.1 v-show
v-show
:用来控制页面中某个标签元素是否展示 底层使用控制是 display 属性
1 | <div id="app"> |
1 | # 总结 |
5.2. 5.2 v-if
v-if
: 用来控制页面元素是否展示 底层控制是DOM元素 操作DOM
1 | <div id="app"> |
5.3. 5.3 v-bind
v-bind
: 用来绑定标签的属性从而通过vue动态修改标签的属性
1 | <div id="app"> |
5.4. 5.4 v-bind 简化写法
vue为了方便我们日后绑定标签的属性提供了对属性绑定的简化写法如
v-bind:属性名
简化之后:属性名
1 | <div id="app"> |
6. 6.v-for的使用
v-for
: 作用就是用来对对象进行遍历的(数组也是对象的一种)
1 | <div id="app"> |
1 | # 总结 |
7. 7 .v-model 双向绑定
v-model
: 作用用来绑定标签元素的值与vue实例对象中data数据保持一致,从而实现双向的数据绑定机制
1 | <div id="app"> |
1 | # 总结 |
8. 8. 事件修饰符
修饰符
: 作用用来和事件连用,用来决定事件触发条件或者是阻止事件的触发机制
1 | # 1.常用的事件修饰符 |
8.1. 8.1 stop事件修饰符
用来阻止事件冒泡
1 | <div id="app"> |
8.2. 8.2 prevent 事件修饰符
用来阻止标签的默认行为,默认事件指对DOM的操作会引起自动执行的动作,比如点击超链接的时候会进行页面的跳转,点击表单提交按钮时会重新加载页面等,使用”.prevent”修饰符可以阻止这些事件的发生。
1 | <!--用来阻止事件的默认行为--> |
8.3. 8.3 self 事件修饰符
用来针对于当前标签的事件触发 ===========> 只触发自己标签的上特定动作的事件 只关心自己标签上触发的事件 不监听事件冒泡
1 | <!--只触发标签自身的事件--> |
8.4. 8.4 once 事件修饰符
once 一次 作用: 就是让指定事件只触发一次
1 | <!-- |
9. 9. 按键修饰符
作用: 用来与键盘中按键事件绑定在一起,用来修饰特定的按键事件的修饰符
1 | # 按键修饰符 |
9.1. 9.1 enter 回车键
用来在触发回车按键之后触发的事件
1 | <input type="text" v-model="msg" @keyup.enter="keyups"> |
9.2. 9.2 tab 键
用来捕获到tab键执行到当前标签是才会触发
1 | <input type="text" @keyup.tab="keytabs"> |
10. 10. Axios 基本使用
10.1. 10.1 引言
Axios
是一个异步请求技术,核心作用就是用来在页面中发送异步请求,并获取对应数据在页面中渲染 页面局部更新技术 Ajax
10.2. 10.2 Axios 第一个程序
中文网站:https://www.kancloud.cn/yunye/axios/234845
安装: https://unpkg.com/axios/dist/axios.min.js
10.2.1. 10.2.1 GET方式的请求
1 | //发送GET方式请求 |
10.2.2. 10.2.2 POST方式请求
1 | //发送POST方式请求 |
10.2.3. 10.2.3 axios并发请求
并发请求
: 将多个请求在同一时刻发送到后端服务接口,最后在集中处理每个请求的响应结果
1 | //1.创建一个查询所有请求 |
11. 11. Vue 生命周期
生命周期钩子
====>生命周期函数
1 | # Vue生命周期总结 |
12. 12. Vue中组件(Component)
12.1. 12.1 组件作用
组件作用: 用来减少Vue实例对象中代码量,日后在使用Vue开发过程中,可以根据 不能业务功能将页面中划分不同的多个组件,然后由多个组件去完成整个页面的布局,便于日后使用Vue进行开发时页面管理,方便开发人员维护。
12.2. 12.2 组件使用
12.2.1. 12.2.1 全局组件注册
说明:全局组件注册给Vue实例,日后可以在任意Vue实例的范围内使用该组件
1 | //1.开发全局组件 |
1 | # 注意: |
12.2.2. 12.2.2 局部组件注册
说明:通过将组件注册给对应Vue实例中一个components属性来完成组件注册,这种方式不会对Vue实例造成累加
- 第一种开发方式
1 | //局部组件登录模板声明 |
第二种开发方式
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22//1.声明局部组件模板 template 标签 注意:在Vue实例作用范围外声明
<template id="loginTemplate">
<h1>用户登录</h1>
</template>
//2.定义变量用来保存模板配置对象
let login ={ //具体局部组件名称
template:'#loginTemplate' //使用自定义template标签选择器即可
};
//3.注册组件
const app = new Vue({
el: "#app",
data: {},
methods: {},
components:{ //用来注册局部组件
login:login //注册局部组件
}
});
//4.局部组件使用 在Vue实例范围内
<login></login>
12.3. 12.3 Prop的使用
作用:props用来给组件传递相应静态数据或者是动态数据的
12.3.1. 12.3.1 通过在组件上声明静态数据传递给组件内部
1 | //1.声明组件模板配置对象 |
1 | # 总结: |
12.3.2. 12.3.2 通过在组件上声明动态数据传递给组件内部
1 | //1.声明组件模板对象 |
12.3.3. 12.3.3 prop的单向数据流
单向数据流:所有的 prop 都使得其父子 prop 之间形成了一个**单向下行绑定**:父级 prop 的更新会向下流动到子组件中,但是反过来则不行。
所有的 prop 都使得其父子 prop 之间形成了一个单向下行绑定:父级 prop 的更新会向下流动到子组件中,但是反过来则不行。这样会防止从子组件意外改变父级组件的状态,从而导致你的应用的数据流向难以理解。
额外的,每次父级组件发生更新时,子组件中所有的 prop 都将会刷新为最新的值。这意味着你不应该在一个子组件内部改变 prop。如果你这样做了,Vue 会在浏览器的控制台中发出警告。—摘自官网
12.4. 12.4 组件中定义数据和事件使用
1. 组件中定义属于组件的数据
1 | //组件声明的配置对象 |
2.组件中事件定义
1 | const login={ |
1 | # 总结 |
12.5. 12.5 向子组件中传递事件并在子组件中调用改事件
在子组件中调用传递过来的相关事件必须使用 this.$emit('函数名') 方式调用
1 | //1.声明组件 |
13. 13.Vue中路由(VueRouter)
13.1. 13.1 路由
路由:根据请求的路径按照一定的路由规则进行请求的转发从而帮助我们实现统一请求的管理
13.2. 13.2 作用
用来在vue中实现组件之间的动态切换
13.3. 13.3 使用路由
引入路由
1
2<script src="https://cdn.jsdelivr.net/npm/vue/dist/vue.js"></script>
<script src="https://unpkg.com/vue-router/dist/vue-router.js"></script> //vue 路由js创建组件对象
1
2
3
4
5
6
7
8
9//声明组件模板
const login = {
template:'<h1>登录</h1>'
};
const register = {
template:'<h1>注册</h1>'
};定义路由对象的规则
注意:创建路由对象要写在创建组件模板的下面,否则会报错
1
2
3
4
5
6
7//创建路由对象
const router = new VueRouter({
routes:[
{path:'/login',component:login}, //path: 路由的路径 component:路径对应的组件
{path:'/register',component:register}
]
});
将路由对象注册到vue实例
1
2
3
4
5
6
7
8const app = new Vue({
el: "#app",
data: {
username:"小陈",
},
methods: {},
router:router //设置路由对象
});
在页面中显示路由的组件
1
2<!--显示路由的组件,会被替换为对应路由的组件-->
<router-view></router-view>根据连接切换路由
注意:此处要加’#’,否则会404
1
2<a href="#/login">点我登录</a>
<a href="#/register">点我注册</a>
13.1. 13.4 router-link使用
作用:用来替换我们在切换路由时使用a标签切换路由
好处:就是可以自动给路由路径加入#不需要手动加入
1 | <router-link to="/login" tag="button">我要登录</router-link> |
1 | # 总结: |
13.2. 13.5 默认路由
作用:用来在第一次进入界面是显示一个默认的组件
1 | const router = new VueRouter({ |
13.3. 13.6 路由中参数传递
- 第一种方式传递参数 传统方式
通过?号形式拼接参数
1
<router-link to="/login?id=21&name=zhangsan">我要登录</router-link>
组件中获取参数
1
2
3
4
5
6
7
8const login = {
template:'<h1>用户登录</h1>',
data(){return {}},
methods:{},
created(){
console.log("=============>"+this.$route.query.id+"======>"+this.$route.query.name);
}
};
- 第二种方式传递参数 restful
通过使用路径方式传递参数
1
2
3
4
5
6<router-link to="/register/24/张三">我要注册</router-link>
var router = new VueRouter({
routes:[
{path:'/register/:id/:name',component:register} //定义路径中获取对应参数
]
});
组件中获取参数
1
2
3
4
5
6const register = {
template:'<h1>用户注册{{ $route.params.name }}</h1>',
created(){
console.log("注册组件中id: "+this.$route.params.id+this.$route.params.name);
}
};
13.4. 13.7 嵌套路由
声明最外层和内层路由
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25<template id="product">
<div>
<h1>商品管理</h1>
<router-link to="/product/add">商品添加</router-link>
<router-link to="/product/edit">商品编辑</router-link>
<router-view></router-view>
</div>
</template>
//声明组件模板
const product={
template:'#product'
};
const add = {
template:'<h4>商品添加</h4>'
};
const edit = {
template:'<h4>商品编辑</h4>'
};
创建路由对象含有嵌套路由
1
2
3
4
5
6
7
8
9
10
11
12
13const router = new VueRouter({
routes:[
{
path:'/product',
component:product,
//此处不能加'/',会使其和父路由同级别,会覆盖掉父路由
children:[
{path:'add',component: add},
{path:'edit',component: edit},
]
},
]
});
注册路由对象
1
2
3
4
5
6const app = new Vue({
el: "#app",
data: {},
methods: {},
router,//定义路由对象
});测试路由
1
2<router-link to="/product">商品管理</router-link>
<router-view></router-view>
14. 14. Vue CLI 脚手架
14.1. 14.1 什么是CLI
命令行界面(英语:command-line interface,缩写:CLI)是在图形用户界面得到普及之前使用最为广泛的用户界面,它通常不支持鼠标,用户通过键盘输入指令,计算机接收到指令后,予以执行。也有人称之为字符用户界面(CUI)
14.2. 14.2 什么是Vue CLI
Vue CLI 是一个基于 Vue.js 进行快速开发的完整系统。使用Vue 脚手架之后我们开发的页面将是一个完整系统(项目)。
14.3. 14.3 Vue CLI优势
- 通过
vue-cli
搭建交互式的项目脚手架。bootstrap css js jquery js 通过执行命令方式下载相关依赖 - 通过
@vue/cli
+@vue/cli-service-global
快速开始零配置原型开发 vue页面 vuejs vuerouter axios(一条命令) - 一个运行时依赖 (
@vue/cli-service
),该依赖:- 可升级; 一条命令
- 基于 webpack 构建,并带有合理的默认配置; webpack 项目打包方式 编译好的项目源码===>部署到服务器上直接使用
- 可以通过项目内的配置文件进行配置; 默认配置文件,通过修改默认配置文件达到自己想要的项目环境
- 可以通过插件进行扩展。 vue v-charts elementui
- 一个丰富的官方插件集合,集成了前端生态中最好的工具。Nodejs(tomcat) Vue VueRouter webpack yarn
- 一套完全图形化的创建和管理 Vue.js 项目的用户界面
14.4. 14.4 Vue CLI安装
1. 环境准备
1 | #1.下载nodejs |
2.安装脚手架
1 | #0.卸载脚手架 |
3.第一个vue脚手架项目
1 | # 1.创建vue脚手架第一个项目 |
4.如何开发Vue脚手架
注意:在Vue cli 中一切皆组件
15. 15.在脚手架中使用axios
15.1. 15.1 安装axios
1 | # 1.安装axios |
16. 16.Vue Cli脚手架项目打包和部署
1 | # 1.在项目根目录中执行如下命令: |
17. 补充
17.1. rap接口管理平台
一个提供后端接口的网站,可用于前端测试,链接如下
RAP接口平台.
17.2. 路由跳转
例如$router.push(“…”)可用来在axios操作后进行路由跳转到对应页面。具体参考如下博客
路由跳转.
17.3. 监听路由变化
当路由产生变化后,会采取相应的动作。例如对于上面的路由跳转操作后,可以再次发起一次get请求更新数据
路由变化监听.