当前位置:   article > 正文

uni-app的基本使用_uniapp自定义全局loading

uniapp自定义全局loading

在我们使用uni-app之前,我们首先先了解一下目录结构

pages 定义uniapp页面专用的目录

components 自定义第三方组件,

static 静态资源目录

uni_modules uniapp插件自动下载的目录

App.vue main.js 入口文件的内容

pages.json是uniapp的全局配置文件

globalStyle 全局配置项

pages 小程序页面的列表数据

tabbar 底部tabbar配置

subPackages 分包加载

以上是我们uni-app的目录,以及他们的作用是什么

代码展示

  1. {
  2. "pages": [ //pages数组中第一项表示应用启动页,
  3. {
  4. "path": "pages/home/home",
  5. "style": {
  6. "navigationBarTitleText": "首页",
  7. "enablePullDownRefresh": false
  8. }
  9. },
  10. {
  11. "path": "pages/index/index",
  12. "style": {
  13. "navigationBarTitleText": "我的"
  14. // "backgroundColor": "#FF0000"
  15. }
  16. }, {
  17. "path": "pages/cart/cart",
  18. "style": {
  19. "navigationBarTitleText": "购物车
  20. ",
  21. "enablePullDownRefresh": false
  22. }
  23. }, {
  24. "path": "pages/cate/cate",
  25. "style": {
  26. "navigationBarTitleText": "分类
  27. ",
  28. "enablePullDownRefresh": false
  29. }
  30. }
  31. ],
  32. //全局样式设置
  33. "globalStyle": {
  34. "navigationBarTextStyle": "white",
  35. "navigationBarTitleText": "uni-app",
  36. "navigationBarBackgroundColor": "#0088dd",
  37. "backgroundColor": "#F8F8F8",
  38. "enablePullDownRefresh": true
  39. },
  40. //tabbar切换
  41. "tabBar": {
  42. "selectedColor": "#De0000",
  43. "list": [{
  44. "pagePath": "pages/home/home",
  45. "text": "首页",
  46. "iconPath": "static/tab_icons/home.png",
  47. "selectedIconPath": "static/tab_icons/home-active.png"
  48. },
  49. {
  50. "pagePath": "pages/cate/cate",
  51. "text": "分类",
  52. "iconPath": "static/tab_icons/cate.png",
  53. "selectedIconPath": "static/tab_icons/cate-active.png"
  54. },
  55. {
  56. "pagePath": "pages/cart/cart",
  57. "text": "购物车",
  58. "iconPath": "static/tab_icons/cart.png",
  59. "selectedIconPath": "static/tab_icons/cart-active.png"
  60. },
  61. {
  62. "pagePath": "pages/index/index",
  63. "text": "我的",
  64. "iconPath": "static/tab_icons/my.png",
  65. "selectedIconPath": "static/tab_icons/my-active.png"
  66. }
  67. ]
  68. },
  69. "uniIdRouter": {}
  70. }

拦截器配置

我们在main.js中,配置我们的拦截器

  1. //配置拦截器
  2. uni.addInterceptor("request", {
  3. //invoke请求发送出去之前触发的效果
  4. invoke(config) {
  5. console.log("接口发起请求");
  6. console.log(config);
  7. const baseUrl = "/https://api-hmugo-web.itheima.net/api/public/v1/";
  8. //请求接口地址的拼接
  9. config.url = baseUrl + config.url;
  10. //loading加载效果
  11. uni.showLoading({
  12. title:"努力加载中"
  13. })
  14. },
  15. complete() {
  16. console.log("请求回调成功触发");
  17. uni.hideLoading();//隐藏效果
  18. }
  19. })

我们给他设置的loding加载效果是在我们的接口在请求接口数据时的一个加载效果,是为了使我们的页面更加的美观,同样也是为了用户体验感设计的

接口请求

  1. <script>
  2. export default {
  3. data() {
  4. return {
  5. title: 'Hello UNI-APP'
  6. }
  7. },
  8. onLoad() {
  9. this.getTest();
  10. },
  11. methods: {
  12. async getTest() {
  13. //测试请求一下接口数据
  14. let [err, res] = await uni.request({
  15. url: "home/swiperdata"
  16. });
  17. console.log(res);
  18. }
  19. }
  20. }
  21. </script>

在此补充一下,如果想要判断是否是可以使用promise进行接口数据的请求,我们可以打印这个请求的方法,如果能打印出来我们promise那三种状态,那么就说明我们可以使用promise的方法,如果没有打印出来promise的三种状态中的任意一个,那么就说明不能使用promise

promise和async await有什么区别?

promise的话,在我们请求接口的过程中,它可以接着执行下面的操作,他是一个异步的方法,目的是为了解决回调地狱的问题

注:回调地狱(回调函数中嵌套回调函数)

async await是用异步的方法执行同步的操作,在我们的接口返回数据之前,我们不能进行一些其他的操作,如果我们上面请求的接口下面要使用,我们就可以使用async await编写

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/Monodyee/article/detail/218802
推荐阅读
相关标签
  

闽ICP备14008679号