VUE基础-第六天
01-反馈
姓名 意见或建议
*** 上课能跟着一步一步走就好了,讲一步练习一步
*** 没办法写出代码了,感觉全是乱的不行,vue已经废了。 老师写代码的时候能不能截图圈一下,现在根本不知道哪些对应哪些文件,这应该是我学的最懵的一次,项目完全看笔记都写不出来了!!!!!!
*** 唉``` 昨晚晚上和我妈视频说都把我学习学瘦了,我说不是,没说那还吃饭饿瘦的,17:30啊啊啊啊
*** 老师,json-server是自带接口吗?
02-回顾
- vue-cli
- vue项目的脚手架 命令行工具
- 安装 npm i -g @vue/cli 默认安装的3版本
- 过渡 npm i -g @vue/cli-init 过渡到2版本使用它的命令
- 创建 vue init webpack-simple heroes69
- 工作目录 src
- render
- main.js 入口文件
- 创建vue实例 选项 render el template
- 渲染 一个组件 到指定的el区域 替换显示
- 这个组件 根组件 App.vue
- ES6模块化
- 到出 export default 内容(对象,字符串,...)
- 导入 import xxx from '包名|js文件路径|vue文件'
- 导入 import '静态资源css' link
- .vue文件使用
- 用来定义 组件 (组件的配置对象)
- template script style 组件的组成 html js css
- {template:''} 就是 template标签内容
- import App from './App.vue' 返回的就是 组件配置对象
- 在视图中想使用这个组件是要先注册 Vue.component() {components:{}}
- 如果在路由中组件 只需要配置对象即可
- 安装bootstrap
- npm i bootstrap@3.3.7
- 前端包 使用css js
- 使用css import ‘css的路径’
- 由于 包含 字体文件
- 需要配置加载字体文件的配置 webpack.config.js
- npm安装使用路由
- npm i vue-router
- 导入 import VueRouter from 'vue-router'
- 注册 Vue.use(VueRouter )
- 步骤 之前的6步
- 具体功能
- 列表
- 删除
- 添加
- 编辑
03-案例优化-axios的全局使用
- 案例中导入一次,在所有的vue实例中可以使用,注意vue组件其实是一个特殊的vue实例。
- 在构造函数的原型中挂载导入后的axios对象 Vue.prototype.
http.get() } } })
04-案例优化-axios的baseURL
-
在axios调用接口时候,可以省略相同的一段URL。
-
例如 http://localhost:3000/api/heroes http://localhost:3000/api/skill 两个接口地址
-
在导入axios后配置 axios.defaults.baseURL= "http://localhost:3000/api/"
-
那么在调用axios的时候 接口地址可以省略baseURL这一段,使用heroes skill 即可。
// 在使用axios之前 配置好基础路径地址 axios.defaults.baseURL = 'http://localhost:3000/api/' // 使用axios发送请求的时候 省略字段路径 axios.get('heroes')
05-案例优化-async和await使用
作用 让异步的操作使用同步的写法,让业务逻辑更清晰。
- async 关键字使用在定义函数前,用于表示该函数是一个异步的函数。 await 关键字使用在任何表达式前,但是通常用来修饰一个返回promise对象的函数,使用后不需要.then()来调用成功的回调,而是返回值就是之前回调的结果
- 要注意的是:await只能使用在有async修饰的函数中。
- 配合axios使用,可以让有异步操作的业务,使用同步的写法,让业务逻辑更清晰。
注意:在vue-cli创建的简单项目中,对es6的转换不够完善,导致 async await 使用失败。
async function getData () {
// axios.get('http://localhost:3000/heroes')
// .then(res => console.log(res.data))
// .catch(err => console.log(err.message))
const res = await axios.get('http://localhost:3000/heroes')
console.log(res.data)
}
getData()
//const res = await axios.get('http://localhost:3000/heroes').catch(err=>({status:500,msg:err.message}))
// .catch(err=>({status:500,msg:err.message})) 如果 直接 return 的结果会当作成功的结果
//console.log(res.status === 500?'失败':'成功')
06-vue基础-动画实现分析
- vue提供了过渡动画功能,目的是让页面更具互动性,体验更好。
- 所以:实现的只是一些简单的过渡动画效果,炫酷的动画还是需要另外去实现。
- 进入动画(v也可以由transition标签name属性决定)
- v-enter 进入前的添加的类
- v-enter-active 进入中添加的类
- v-enter-to 进入后添加的类
- 离开动画(v也可以由transition标签name属性决定)
- v-leave 离开前添加的类
- v-leave-active 离开中添加的类
- v-leave-to 离开后添加的类
07-vue基础-元素动画
- 给需要实现动画的元素包裹 transition 标签
- 然后机会有六个类名来控制 进入 和 离开 的动画
- 在style中使用这个六个类名来定义不同的样式 .v-enter,.v-leave-to{ transform: translateX(100px); opacity: 0; } .v-enter-active,.v-leave-active{ transition: all 2s }
- 有可能多个元素需要动画 通过 name属性修改类名 /* */ .second-enter,.second-leave-to{ transform: translateY(100px); opacity: 0; } .second-enter-active,.second-leave-active{ transition: all 2s }
08-vue基础-列表动画
-
使用 transition-group 标签包裹需要执行动画的列表
-
执行动画的元素是每一项,进入 离开 实现动画
-
如果实现动画 动画和元素动画实现是一样的。
<script src="assets/vue.min.js"></script> <style> li { list-style: none; background: #eee; width: 400px; border: 1px dashed #ccc; margin: 5px; } /*实现动画*/ .v-enter, .v-leave-to { transform: translateY(100px); opacity: 0; } .v-enter-active, .v-leave-active { transition: all 1s; position: absolute; } /* 在移除元素的过程中 v-move 调用*/ .v-move { transition: all 1s; } </style>add - {{item.name}}
09-vue基础-生命周期
-
下图展示了实例的生命周期。你不需要立马弄明白所有的东西,不过随着你的不断学习和使用,它的参考价值会越来越高。
-
ajax获取数据 在那个钩子函数执行:
-
created (如果想尽快的获取数据) mounted(如果有dom操作时建议写这个位置)
10-git-分支-作用分析
- 使用分支意味着你可以把你的工作从开发主线上分离开来,以免影响开发主线。
- 在分支上做开发,调试好了后再合并到主分支。那么每个人开发模块式都不会影响到别人。
- Master是默认就存在的一个分支,我们叫它主分支。
- 需求:
- 提交三次代码
- 在主分支基础之上创建一个新分支。
- 然后切换到新的分支,开发一些功能,做一次提交。
- 再切换到master分支,合并新分支到master分支。
- 查看现有分支。
- 然后删除分支。
图解流程:
11-git-分支-命令操作
- 新建分支 git branch product
- 切换分支 git checkout product
- 合并分支 git merge product
- 查看分支 git branch
- 删除分支 git branch -d product
12-项目准备-配置本地接口服务器
- 当资源 pyg_manage_api 的文件
- 在项目中找到 shop.sql 的脚本
- 创建一个数据库 数据库的名字 shop
- 右键数据库,运行sql文件,选中shop.sql文件 ,运行即可
- 修改配置文件:项目/config/default.json 修改密码
- 根据接口文档的登录接口 来验证是否启动成功
13-项目准备-vue-cli创建项目
- 使用vue-cli创建的简单的项目,创建复杂项目 vue init webpack 项目的名称
- 项目的名 跳过
- 项目描述 跳过
- 作者 跳过
- 选中vue的版本 runtime-only
- 是否安装路由 y
- 是否使用eslint来约束代码风格 y
- 选中代码风格 standard 风格
- unit n
- e2e n
- 选择装包方式 npm
- 等待....
14-项目准备-使用git管理项目
- git init
- git add .
- git commit -m 'initial project'
15-项目准备-把项目托管到github
git remote add origin git@github.com:zhousg/pyg_admin_69.git
git push -u origin master
16-登录-在login分支开发
- 在login分支去开登录功能
- 新建分支 git branch login
- 切换到登录分支去进行开发 git checkout login
17-登录-项目结构分析&删除无用代码&配置路由和组件