个人认为一个vue项目的流程
1:使用vue-cli脚手架来快速创建一个vue模块化项目 使用自定义方式创建,常用的是添加 vuex、axios、ui、router 再创建项目使添加上这些,vue会自动给你需要的模板。
2:在app.vue中使用<router-view/>标签来让页面交给路由管理
3:创建所需要的页面模板出来,之后配置路由
4:在main.js中需要我们手动来把router文件夹以及store文件夹来导入进去
5:创建axios请求(可参考axios官网来添加模板即可,自己创建一个axios实例。好处是不会污染原始的axios实例 也可以把实例看作实体类再创建实例就是继承他) 之后建一个api文件夹,来封装我们向后端发起的请求接口
Peomise
1:前端promise
promise 是一个异步编程的新解决方案 用来封装异步操作 来获取成功或失败的结果
该技术主要用于axios请求中
首先封装一个异步请求
使用async 与await来获取请求结果
函数中使用async表明的函数是一个异步函数 返回的是一个promise对象
await的右边必须是一个promise请求才可以使用(这里为什么可以使用? 因为getcodeimg()方法的底层是一个axios请求所以可以搭配)
await会等待promise完成之后直接返回一个最终结果
因为axios底层实现是一个promise请求所以 可以使用await来完美接收
同时它还有三个常用方法
then 成功之后需要的操作
catch 失败之后的操作
finally 无论成功与否都会执行
vue 中组件传值
子组件给父组件传值
子组件
父组件
总结:子组件给父亲传值需要使用 $emit(“自定义事件”,要给的值),子组件传过去之后父组件需要写一个子组件给的自定义事件,来获取子组件给的值
父组件给子组件传值
父组件
子组件
父组件只需要通过:count="count"来给子组件即可,子组件需要通过props来接受即可
filter与map
filter主要用来做筛选
map主要用来提取数组中的某一个值,也可以对要的值做统一操作