Skip to content

Commit f8a02fe

Browse files
committed
modify by dk
1 parent 35d8352 commit f8a02fe

File tree

22 files changed

+52476
-38
lines changed

22 files changed

+52476
-38
lines changed

README.md

Lines changed: 25 additions & 30 deletions
Original file line numberDiff line numberDiff line change
@@ -1,33 +1,9 @@
11
# 教程简介
2-
本教程要实现一个简单的后台管理系统,包含登陆、数据列表、数据查询、列表分页、添加数据、修改数据和删除数据等功能,教程会从 Vue 入门开始讲解,包含 es6、Sass、Webpack、Bootstrap、jQuery 等技术,再到后台管理系统的一些常规功能,用 Vue 如何去实现。也许会有人质疑 Vue 和 jQuery 的搭配,在我本人看来,jQuery 本身已很成熟,而且包含了很多非常好用的插件,比如表单验证,会比 Vue 的成本低很多。在本教程中会用纯 Vue 和 Vue + jQuery 两种方式去实现某些功能,可用于对比两种方案在开发成本和性能上到底有多大的影响。
3-
4-
# 后台管理系统的常规技术点
5-
- 数据请求 ajax
6-
- 所有 ajax 请求都会有 loding 和遮罩层
7-
- 所有的 ajax 的 url 都应该设置相对应的前缀方便发布
8-
- 数据列表 datagrid
9-
- 可配置是否需要分页
10-
- 可配置是否需要搜索功能
11-
- 可配置数据列表是否能修改、删除、添加和查看详情
12-
- 可配置水平滚动的固定列
13-
- 可配置点击列头是否需要排序
14-
- 可配置列表是否允许直接修改数据
15-
- 可配置列表是否允许复制行
16-
- 列表的数据在编辑时可自动生成对应的表单元素,比如编辑日期时会自动生成日期控件
17-
- 列表在编辑时的验证规则
18-
- 是否需要支持树形结构
19-
- 表单 form
20-
- 信息分组显示
21-
- 表单编辑权限
22-
- 表单验证
23-
- 表单控件自动生成
24-
- 每行显示的元素数量
25-
- 跨列显示
26-
- 数据完整性
27-
- 数据安全性
28-
- 数据查询性能
29-
- 系统支持多语言切换
30-
- 系统权限
2+
本教程要实现一个简单的后台管理系统,包含登陆、数据列表、数据查询、列表分页、添加数据、修改数据和删除数据等功能,教程会从 Vue 入门开始讲解,包含 es6、Sass、Webpack、Bootstrap、jQuery 等技术,再到后台管理系统的一些常规功能,用 Vue 如何去实现。
3+
4+
也许会有人质疑 Vue 和 jQuery 的搭配,在我本人看来,jQuery 本身已很成熟,而且包含了很多非常好用的插件,比如表单验证,会比 Vue 的成本低很多。在本教程中会用纯 Vue 和 Vue + jQuery 两种方式去实现某些功能,可用于对比两种方案在开发成本和性能上到底有多大的影响。
5+
6+
如果对 Vue 还不了解的建议先看看 Vue 基础教程,如果对 Vue 有一定了解的可以直接看 VueERP
317

328
# 项目目录结构
339
- VueBisc [Vue 基础教程]
@@ -38,6 +14,15 @@
3814
- 认识数据驱动模式
3915
- 认识 MVVM 模式
4016
- [模版语法](https://github.com/dk-lan/vue-erp/tree/master/VueBasic/TemplateSyntax)
17+
- [样式绑定](https://github.com/dk-lan/vue-erp/tree/master/VueBasic/StyleBinding)
18+
- [Vue 实例化时基本属性](https://github.com/dk-lan/vue-erp/tree/master/VueBasic/VueBasicOptions)
19+
- [修饰符](https://github.com/dk-lan/vue-erp/tree/master/VueBasic/Modifiers)
20+
- 组件
21+
- 指令
22+
- 动画和过度效果
23+
- 路由
24+
- 钩子函数
25+
- Vuex
4126

4227
# 认识 Vue
4328
关于 Vue 的描述有不少,不外乎都会拿来与 Angular 和 React 对比,同样头顶 MVVM 双向数据驱动设计模式光环的 Angular 自然被对比的最多,但到目前为止,Angular 在热度上已明显不及 Vue,性能已成为最大的诟病。
@@ -49,9 +34,19 @@
4934
关于 Vue、React 和 Angular,其实都是在原生 JS 基础上,对面向对象不一样的实现方式而已,所以要想使用这三者中的任意一种,首先要有一定的 JS 基础和对面向对象有一定的认识。
5035

5136
在代码层面,Vue 只是一个构造函数,整个 Vue 的实现都在实例化这个构造函数开始。
37+
``` html
38+
<script src="https://unpkg.com/vue/dist/vue.js"></script>
39+
```
40+
``` html
41+
<div id="app"></div>
42+
```
5243
``` javascript
5344
var vm = new Vue({
54-
//选项
45+
el: '#app'// Vue 实例元素
46+
data: {
47+
//数据
48+
}
49+
...
5550
})
5651
```
5752

VueBasic/Modifiers/README.md

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
# 事件修饰符
2+
对事件添加一些通用的限制,比如阻止事件冒泡,Vue 对这种事件的限制提供了特定的写法,称之为修饰符
3+
用法:v-on:事件.修饰符
4+
5+
# 表单修饰符

VueBasic/StyleBinding/README.md

Lines changed: 105 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,105 @@
1+
# 绑定 class
2+
## 对象语法
3+
v-bind:class="{样式名: 结果为 boolean 的表达式}",表达式结果为 true,则元素 class="样式名",否则元素 class=""
4+
``` html
5+
<div :class="{classNam1: 1 == 1, className2: 1 == 2}"></div>
6+
```
7+
渲染结果
8+
``` html
9+
<div class="classNam1"></div>
10+
```
11+
12+
也可以写成
13+
``` html
14+
<div :class="classObject"></div>
15+
```
16+
``` javascript
17+
data: {
18+
classObject: {
19+
className1: false,
20+
className2: true
21+
}
22+
}
23+
```
24+
渲染结果
25+
``` html
26+
<div class="className2"></div>
27+
```
28+
29+
还可以通过计算属性的方式
30+
``` html
31+
<div :class="classObjectComputed"></div>
32+
```
33+
``` javascript
34+
computed: {
35+
classObjectComputed: function(){
36+
return{
37+
className1: true,
38+
className2: true
39+
}
40+
}
41+
}
42+
```
43+
渲染结果
44+
``` html
45+
<div class="className1 className2"></div>
46+
```
47+
48+
## 数组语法
49+
v-bind:class="[]",数组元素可以为表达式,也可以为字符串,如果是字符串则直接输出为样式名
50+
``` html
51+
<div :class="[class1, class2, 'className3', active ? 'className4' : '']"></div>
52+
```
53+
``` javascript
54+
data: {
55+
class1: 'className1',
56+
class2: 'className1',
57+
active: true
58+
}
59+
```
60+
渲染结果
61+
``` html
62+
<div class="className1 className2 className3 className4"></div>
63+
```
64+
65+
也可以用数据对象的方式,解析的逻辑和对象语法一样
66+
``` html
67+
<div :class="[{className1: 1 == 1, className2: 1 == 2}, 'className3' ]"></div>
68+
```
69+
渲染结果
70+
``` html
71+
<div class="className1 className3"></div>
72+
```
73+
74+
# 绑定 style
75+
## 对象语法
76+
在对象当中,CSS 的属性名要用驼峰式表达:fontSize 解析成 font-size
77+
``` html
78+
<div :style="{color: color, fontSize: fontSize, backgroundColor: '#ccc'}"></div>
79+
```
80+
``` javascript
81+
data: {
82+
color: 'red',
83+
fontSize: '12px'
84+
}
85+
```
86+
渲染结果
87+
``` html
88+
<div style="color: red, font-size: 12px; background-color: #ccc"></div>
89+
```
90+
## 数组语法
91+
``` html
92+
<div :style="[styleObject, {backgroundColor: '#ccc'}]"></div>
93+
```
94+
``` javascript
95+
data: {
96+
styleObject: {
97+
color: 'red',
98+
fontSize: '12px'
99+
}
100+
}
101+
```
102+
渲染结果
103+
``` html
104+
<div style="color: red, font-size: 12px; background-color: #ccc"></div>
105+
```

VueBasic/TemplateSyntax/Directives.html

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
33
<head>
44
<meta charset="UTF-8">
55
<title>模版语法-指令</title>
6-
<script src="https://unpkg.com/vue/dist/vue.js"></script>
6+
<script type="text/javascript" src="../js/vue.min.js"></script>
77
<style type="text/css" media="screen">
88
[v-cloak]{
99
display: none;

VueBasic/TemplateSyntax/Example.html

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@
44
<meta charset="UTF-8">
55
<title>模版语法-综合案例</title>
66
<link rel="stylesheet" href="Example.css" />
7-
<script src="https://unpkg.com/vue/dist/vue.js"></script>
7+
<script type="text/javascript" src="../js/vue.min.js"></script>
88
</head>
99

1010
<body>

VueBasic/TemplateSyntax/Interpolations.html

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@
44
<meta charset="utf-8">
55
<meta http-equiv="X-UA-Compatible" content="IE=edge">
66
<title>模版语法-插值</title>
7-
<script src="https://unpkg.com/vue/dist/vue.js"></script>
7+
<script type="text/javascript" src="../js/vue.min.js"></script>
88
</head>
99
<body>
1010
<div id="app">

VueBasic/TemplateSyntax/README.md

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -220,7 +220,7 @@ var vm = new Vue({
220220
<tr><td>v-pre</td><td>不需要表达式</td><td><!--v-pre-->
221221
222222
``` html
223-
<!--{{}} 不编辑,当字符串输出-->
223+
<!--{{}} 不编译,当字符串输出-->
224224
<span v-pre>{{mess}}</span>
225225
```
226226

@@ -250,6 +250,6 @@ var vm = new Vue({
250250
</tbody>
251251
</table>
252252

253-
[指令效果](https://dk-lan.github.io/vue-erp/VueBasic/TemplateSyntax/Directives.html)
253+
[指令效果预览](https://dk-lan.github.io/vue-erp/VueBasic/TemplateSyntax/Directives.html)
254254

255-
[综合安全](https://dk-lan.github.io/vue-erp/VueBasic/TemplateSyntax/Example.html)
255+
[综合安全预览](https://dk-lan.github.io/vue-erp/VueBasic/TemplateSyntax/Example.html)

0 commit comments

Comments
 (0)