自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

歌舞阿瓜的博客

成名在望会有希望

  • 博客(118)
  • 收藏
  • 关注

原创 Vue2 关于指令

需要重复使用完成某些功能的指令,可以自定义。

2024-10-27 22:08:55 313

原创 关于 API

问法:Vue2 中数据是定义在 data 中的 return 里的,如果定义在 return 外有什么区别?定义在 return 外的数据不能被修改,不会实现双向绑定,没有getter和setter,而 return 内的数据会被getter和setter劫持,所以可以实现双向绑定。但是如果同一个事件同时修改了 return 内和 return 外的两种数据,那么都将被修改。这是因为双向绑定的数据被getter和setter。

2024-10-27 20:53:26 406

原创 Vue 关于路由

路由

2024-10-26 20:20:07 627

原创 关于 Vuex

Vuex 是一个专为 Vue.js 应用程序开发的状态管理模式。

2024-10-26 18:15:00 370

原创 vue2 关于组件

子组件中,元素的标签内添加点击点击事件,在点击事件的回调中通过 this.$emit 由子向父传递一个自定义事件。父组件中,在子组件的标签内添加上子组件中定义的事件,并为事件绑定一个回调函数,在函数中接收数据。父组件想要为子组件传递一些模板片段,让子组件在它们的组件中渲染这些片段,插槽可以实现。所以作用域插槽是实现子组件向父组件传递数据的,能够让插槽内容访问到子组件的状态。因为插槽本身是在父组件模板中定义的,所以插槽内容可以访问到父组件的数据作用域。这种方式,子组件可以修改父组件的数据。

2024-10-23 14:03:23 324

原创 关于生命周期

这是系统自带的。。组件挂载的时候会执行4 个生命周期,但是如果加入了 keep-alive,将会多执行一个activated,这种组件在重复进入时只会执行activated一个周期。父组件将在全部子组件挂载完毕后执行mounted周期。

2024-10-21 16:49:49 664

原创 一个 事件循环-宏任务-微任务 的例子

JavaScript 中,任务分为和,异步任务分为和。在 ES6 中,JavaScript 引入 Promise ,至此,不需要浏览器,JavaScript 引擎也可以发起异步任务了。是由宿主(浏览器,Node)发起的,是由 JavaScript 引擎发起的。

2024-10-14 19:52:04 470

原创 任务与微任务

JavaScript 本质上是一门单线程语言。自从定时器(和)加入到 Web API 后,浏览器提供的 JavaScript 环境就已经逐渐发展到包含任务调度多线程应用开发等强大的特性。

2024-10-14 19:04:52 982

原创 Promise.resolve()

静态方法将给定的值转换为一个Promise。如果该值本身就是一个 Promise,那么该 Promise 将被返回;如果该值是一个thenable对象,将调用其then()方法及其两个回调函数;否则,返回的 Promise 将会以该值兑现。该函数将嵌套的类 Promise 对象(例如,一个将被兑现为另一个 Promise 对象的 Promise 对象)展平,转化为单个 Promise 对象,其兑现值为一个非 thenable 值。

2024-10-13 07:00:00 2951

原创 Promise.reject()

静态方法返回一个已拒绝(rejected)的 Promise 对象,拒绝原因为给定的参数。

2024-10-12 07:15:00 574

原创 Promise.race()

静态方法接受一个 promise 可迭代对象作为输入,并返回一个 Promise。这个返回的 promise 会随着第一个 promise 的敲定而敲定。

2024-10-12 07:00:00 907

原创 Promise.any()

静态方法将一个 Promise 可迭代对象作为输入,并返回一个 Promise。当输入的任何一个 Promise 兑现时,这个返回的 Promise 将会兑现,并返回第一个兑现的值。当所有输入 Promise 都被拒绝(包括传递了空的可迭代对象)时,它会以一个包含拒绝原因数组的拒绝。

2024-10-11 07:15:00 524

原创 Promise.allSettled()

静态方法将一个 Promise 可迭代对象作为输入,并返回一个单独的 Promise。当所有输入的 Promise 都已敲定时(包括传入空的可迭代对象时),返回的 Promise 将被兑现,并带有描述每个 Promise 结果的对象数组。

2024-10-11 07:00:00 550

原创 Promise.all()

静态方法接受一个 Promise 可迭代对象作为输入,并返回一个 Promise。当所有输入的 Promise 都 fulfilled 时,返回的 Promise 也将 fulfilled(即使传入的是一个空的可迭代对象),并返回一个包含所有兑现值的数组。如果输入的任何 Promise rejected,则返回的 Promise 将 rejected,并带有第一个rejected reason。

2024-10-10 15:50:27 1868

原创 Promise() 构造函数

Promise() 构造函数 可以创建 Promise 对象。主要用来封装一些基于回调的 API,这些 API 均未支持 Peomise。

2024-10-10 14:57:31 1444

原创 Promise 的描述

Promise对象 表示异步操作最终的完成(或者失败)以及其结果的值。

2024-10-08 22:22:22 463

原创 实现 Promise

想要实现基于 promise 的 API ,我们可以使用事件、普通回调或者消息传递模型来包裹一个异步操作。使用 Promise 对象可以合理的处理操作的成功或者失败。

2024-10-08 15:57:25 945

原创 使用 Promise

Promise 是现代 JavaScript 异步编程的基础。它避免了深度嵌套回调,使表达和理解异步操作序列变得更加容易,并且它们还支持一种类似于同步编程中 try…catch 语句的错误处理方式。async 和 await 关键字使得从一系列连续的异步函数调用中建立一个操作变得更加容易,避免了创建显式 Promise 链,并允许你像编写同步代码那样编写异步代码。

2024-10-07 23:55:09 1369

原创 JavaScript 中的异步

异步编程可以使得程序在执行一个可能长期运行的任务的同时,可以对其他事件做出反应,不需要等待长期任务完成,并且长期任务完成后也可以显示结果。

2024-10-07 23:16:51 1212

原创 EP45 首页banner跳转到其他页面和其他小程序

文件路径: E:/homework/uniappv3tswallpaper/pages/index/index.vue跳转到小程序的 navigator 有点不一样。<template> <view class="homeLayout pageBg"> <custom-nav-bar title="推荐"></custom-nav-bar> <view class="banner"> <swiper :indicator-

2024-10-02 07:30:00 914

原创 EP44 搜索页面的搜索结果图片展示

文件路径: E:/homework/uniappv3tswallpaper/api/apis.js添加了搜索结果的api。import { request} from "@/utils/requset.js"export function apiGetBanner() { return request({ url: "/homeBanner" })}export function apiGetDayRandom() { return request({ url: "/rando

2024-10-02 07:00:00 1573

原创 promise 异步,同步,异步同步化

以网络请求为例,异步操作获取的结果作为下一个异步操作的参数时,这种层次越深,回调嵌入回调的次数越多,代码维护越复杂。

2024-10-01 17:25:06 2297

原创 EP43 搜索页面和缓存

文件路径: E:/homework/uniappv3tswallpaper/components/custom-nav-bar/custom-nav-bar.vue增加跳转到搜索页面的 navigator 。<template> <view class="layout"> <view class="navbar"> <view class="statusBar" :style="{height:getStatusBarHeight() + 'px'}

2024-10-01 07:30:00 1309

原创 EP42 公告详情页

文件路径: E:/homework/uniappv3tswallpaper/api/apis.js先添加相应的api。import { request} from "@/utils/requset.js"export function apiGetBanner() { return request({ url: "/homeBanner" })}export function apiGetDayRandom() { return request({ url: "/randomW

2024-10-01 07:00:00 738

原创 EP41 我的评分和我的下载公用分类列表

文件路径: E:/homework/uniappv3tswallpaper/api/apis.js先添加相应的api。import { request} from "@/utils/requset.js"export function apiGetBanner() { return request({ url: "/homeBanner" })}export function apiGetDayRandom() { return request({ url: "/randomW

2024-09-30 07:30:00 873

原创 EP40 获取用户数据并渲染

文件路径: E:/homework/uniappv3tswallpaper/pages/user/user.vue<template> <view class="userLayout pageBg" v-if="userInfo"> <view class="" :style="{height:getNavBarHeight() + 'px'}"> </view> <view class="userInfo"> <view

2024-09-30 07:00:00 789

原创 EP39 页面优化

文件路径: E:/homework/uniappv3tswallpaper/pages/preview/preview.vue修改了点击图片信息后,底部安全区域透明的问题。修改了 popup 组件的标签内属性。<template> <view class=""> <view class="preview" @click="changeMask" v-if="currentInfo"> <swiper circular="true" :curren

2024-09-29 07:30:00 916

原创 EP38 分享页面传参

文件路径: E:/homework/uniappv3tswallpaper/pages/classlist/classlist.vue在 classlist 页面分享需要传递参数来确定分类和分类的标题。<template> <view class="classlist"> <view class="loadingLayout" v-if="!classList.length && !noData"> <uni-load-more st

2024-09-29 07:00:00 922

原创 EP37 分享给好友与分享到朋友圈

文件路径: E:/homework/uniappv3tswallpaper/pages/index/index.vue这两个分享的api引入方法类似声明周期。<template> <view class="homeLayout pageBg"> <custom-nav-bar title="推荐"></custom-nav-bar> <view class="banner"> <swiper :indicator-dots

2024-09-28 07:30:00 1424

原创 EP36 try{}catch(){}异步同步化

文件路径: E:/homework/uniappv3tswallpaper/pages/preview/preview.vue<template> <view class=""> <view class="preview" @click="changeMask"> <swiper circular="true" :current="currentIndex" @change="swiperChange"> <swiper-item

2024-09-28 07:00:00 1393

原创 E35 小程序调用客户端授权信息

文件路径: E:/homework/uniappv3tswallpaper/pages/preview/preview.vue<template> <view class=""> <view class="preview" @click="changeMask"> <swiper circular="true" :current="currentIndex" @change="swiperChange"> <swiper-item

2024-09-27 07:15:00 544

原创 EP34 uniapp的两个api--getImageInfo和saveImageToPhotosAlbum

文件路径: E:/homework/uniappv3tswallpaper/pages/preview/preview.vue<template> <view class=""> <view class="preview" @click="changeMask"> <swiper circular="true" :current="currentIndex" @change="swiperChange"> <swiper-item

2024-09-27 07:00:00 819

原创 EP33 评分接口和已评分状态

有则disable打分功能并且显示已给过的评分值,没有则正常进行。用于存储用户给的评分值,并存储在本地存储中。点击评分伴随着查询本地存储中是否有。中向当前图片的信息中添加一项。中解构出请求需要的几个参数。组件可以获取评分的值。

2024-09-26 07:30:00 326

原创 EP32 展示每张图片的信息

文件路径: E:/homework/uniappv3tswallpaper/pages/preview/preview.vue做了一点 v-bind 基本操作。<template> <view class=""> <view class="preview" @click="changeMask"> <swiper circular="true" :current="currentIndex" @change="swiperChange">

2024-09-26 07:00:00 649

原创 EP31 加载当前和前后各一张一共三张图片以缓解加载缓存的压力

文件路径: E:/homework/uniappv3tswallpaper/pages/preview/preview.vue因为swiper组件会自动创造节点,并缓存图片。所以首先用 v-if 来创造与摧毁节点,创造的节点中的图片会自动缓存。通过首次刷新和swiper滚动向 readImgs 数组中添加需要加载的图片并缓存。添加的图片分别是当前图片的前一张,当前图片和当前图片的后一张(考虑临界情况)。通过 set 给数组去重。includes 方法判断是否需要创造节点。<template

2024-09-25 07:30:00 949

原创 EP30 实现预览页面切换

文件路径: E:/homework/uniappv3tswallpaper/pages/classlist/classlist.vue在 navigator 标签的 url 属性中添加了 prop 参数,向子组件传递了 id 。<template> <view class="classlist"> <view class="loadingLayout" v-if="!classList.length && !noData"> <uni

2024-09-25 07:00:00 1437

原创 报错:Extraneous non-props attributes (id) were passed to component but could not be automatically inhe

子组件中存在多个根节点,在对应的根节点使用v-bind=”$attrs"进行显式绑定。父组件传递了props参数,子组件没有接收,并且子组件不止一个根节点。将子组件包裹在一个根节点下。

2024-09-24 14:02:18 1976

原创 EP29 storage存储并读取

文件路径: E:/homework/uniappv3tswallpaper/pages/classlist/classlist.vue存入本地存储<template> <view class="classlist"> <view class="loadingLayout" v-if="!classList.length && !noData"> <uni-load-more status="loading"></uni-l

2024-09-24 07:15:00 1355

原创 EP28 触底加载loadingmore

这里条件判断的逻辑可以看看。// 触底获取新数据。

2024-09-24 07:00:00 306

原创 EP26 在onLoad周期获取参数获取对应的数据

周期中进行获取和调用函数,因为其他部分执行在onload之前,如果在onload之外调用函数,接收了参数并且获取了相应的数据。还没有获取到id和name。

2024-09-23 07:00:00 1659

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除