VUE快速上手
vue基本知识
一、vue简介
渐进式框架: 核心库专注视图层,便于与第三方与现有项目整合。
简单示例: 看视频中文
结构:数据绑定
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24<html>
...
<div id="app">
{{message}}
<!-- 文本插值 -->
</div>
...
</html>
<script>
var app =new Vue({
el: '#app',
data: {
message: 'abc'
}
})
</script>
<style>
.class-style {
color: red
}
</style>常用指令:
(1) **v-if **条件渲染
1
<p v-if="seen">现在你看到我了</p>
(2) **v-for **循环
1
2
3<li v-for="todo in todos">
{{ todo.text }}
</li>(3) v-on 简写 @
1
2<button v-on:click="reverseMessage">反转消息</button>
<button @click="reverseMessage">反转消息</button>(4) v-model, 表单输入双向绑定
1
<input v-model="message">
二、 Vue组件 链接
模板组成:
template 展示
script 数据/方法等
style 样式
元素:
(1) name 组件名称
(2) props 从组件外向组件内传递参数
(3) data 元素内部的参数:object/array/…
(4) computed 计算属性
(5) methods: 组件内的方法
(6) watch 监听参数
…组件的使用
1 | <todo-item></todo-item> |
组件生命周期
页面元素的获取方式: refs
1
2
3
4
5
6
7
8<template>
<div ref="my-div-ref" id="my-div-id"></div>
</template>
<script>
var dom = this.$refs.my-div-ref
// 等价于
var dom = document.getElmentById('my-div-id')
</script>
组件间的数据传递
父组件 -> 子组件: props
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
26
27
28
29
30
31
32
33
34
35// 子组件
<script>
export default {
name: 'abc',
props: {
product: {
type: Object,
default() {
return {
id: null,
name: '无'
}
}
}
}
}
</script>
// 父组件
<template>
<abc :product="product"></abc>
</template>
<script>
export default {
name: 'abc',
data() {
return {
product: {
id: 2,
name: '商品名'
}
}
}
}
</script>子组件 -> 父组件:
v-model/value
this.$emit(‘$event’, params):
单参(推荐)
多参(arguments) 例子 Tabs.vue
三、项目上手
在线文档:vue-element-admin
github: vue-elment-admin
现有项目的目录结构
1 | ├── build # 构建相关 |
vue-router: 路由/跳转
axios : http请求
复杂参数传递:
- json字符串:
1 | { |
1 | String paraNames = getPara("paraNames"); |
1. 数组参数:
1 | { |
1 | // 后端 |
跨域问题的解决方案
普通接口:
测试环境:前台代理
正式环境:nginx (目前单机部署,尚未涉及)
文件上传/下载: 已封装,参照管理模块-人员管理下载模板/上传人员
第三方组件的使用——element-ui
1. 常用布局:el-row/el-col
2. 常用组件: el-table/el-dialog
易错点:
el-table:
@select与@select-all都需要监听
//…
常用CSS:
1 | // 居中 |
四、编码规范
- 尽量多写可复用的小组件
- 参数注释要写明:例如一个Object包含哪些字段
- eslint
题外:推荐编辑器
WebStorm
(1) 常用功能:split Vertically/Horizontally 纵向/横向分隔窗口
HbuilderX
免费
编程实践
1. 添加路由
2. 添加组件
3. 组件内引用其他组件,例如el-table, paginate
4. 跳转到其他页面
5. 布局组件: 分栏split-pane, el-row, el-col
6. 上传/下载: