# ESpace_fronted_new
**Repository Path**: E-Space/ESpace_fronted_new
## Basic Information
- **Project Name**: ESpace_fronted_new
- **Description**: No description available
- **Primary Language**: Unknown
- **License**: Not specified
- **Default Branch**: dev
- **Homepage**: None
- **GVP Project**: No
## Statistics
- **Stars**: 0
- **Forks**: 0
- **Created**: 2019-11-12
- **Last Updated**: 2020-12-19
## Categories & Tags
**Categories**: Uncategorized
**Tags**: None
## README
# Espace Fronted
## 资源
[设计稿]("http://zincox.gitee.io/espace_design")
[element ui 2.9.2]("https://element.eleme.cn/2.9/#/zh-CN/component/installation")
## 注意事项
- *使用Sass*替代CSS来进行布局和修改样式,参见 [Sass文档]("https://www.sass.hk/guide/")
- 颜色、字体,尽量使用 `src/styles/global.scss` 下配置好的全局配置来使用
- 不要乱推!!!!!!
- 不要把什么文件都推上来,推前看一下 `status` ,并使用 `git restore` 去掉其他无关文件,如果不会,使用 Webstorm 的 `Commit` 功能
- 合并冲突使用 `merge` 而不是 `rebase`
## 使用 Mock 数据
使用 Mock 能在不访问后台情况下返回模拟数据,MockJs 和 Axios 已整合完毕,直接使用即可。
### 添加 Mock URL 和响应
在 `src/apis/mock/` 下建立相应的响应js,格式如 `src/apis/mock/competition.js` 所示。定义好路由,请求方法和请求函数。
### 将自定义的响应文件加入主文件中
在 `src/apis/config/mock.js` 下,引入你的响应js,并加入循环中。
```javascript
import competition from "@/apis/mock/competition";
// 加入模拟数据
const mockApis = [
...competition
];
```
### 封装请求 Api
通常,封装一个 api 为 js 文件,格式如 `src/apis/competition.js` 所示, axios 已封装为 request ,直接使用 request 对象即可。
```javascript
// 导入已经封装好的 request 对象
import request from '@/apis/config/request'
export function getFilterSelections() {
return request({
url: 'competition/filters',
method: 'get',
})
}
export default {
getFilterSelections
}
```
### 使用封装好的 api
```javascript
import {getFilterSelections} from "@/apis/competition";
export default {
methods: {
ajax() {
getFilterSelections().then((data)=>{
})
}
}
}
```
## 外联`@import`使用 CSS / SCSS 的方法
使用 `@import` 导入外部样式表时,无论导入的 ``标签内是否含有 `scope` 关键字,都会作为`全局 css 样式`导入(实际创建了一个新 `style` 标签)。
这就会造成样式污染问题。
### 建议
建议只在页面(`views`)下使用外联的样式表,组件样式使用内联样式表
### 改用局部标签引入
在 `style` 标签上方,再插入一个需要引入的 `style` 标签
```html
```
### 嵌套使用
使用 scss 提供的嵌套功能,将所有的样式,限定在需要使用的 `class` 内
#### 给页面组件添加 `class`
在`views/page`页面组件下,给顶级`div`添加对应的`class`,用于限定样式范围
```vue
```
#### 新建外联样式
在 `src/styles/` 下,添加一个 `scss` 文件(css也行,但不方便),使用嵌套CSS来限定布局
```scss
.my-page{
// 经过 Sass编译和Webpack打包后,变为 .my-page .box1{} 和 .my-page .box2{},从而限定 CSS 样式范围
.box1{
}
.box2{
}
}
```
#### 添加样式
最后在页面文件下,使用`@import`引入即可
```vue
```