- 博客(36)
- 收藏
- 关注
原创 微信小程序8
1.购物车关联store对象。安装框架 computed。10.删除购物车中的商品。2.获取渲染购物车列表。14.获取订单详细数据。15.立即购买商品数据。3.更新商品购买状态。4.更新商品购买状态。7.更新商品购买数量。8.商品购买数量防抖。19.获取预付单信息。
2026-05-30 23:47:14
129
原创 微信小程序7
使用 npm i async-validator 安装 async-validator,之后点击工具中的构建npm。4表单验证-async-validator基本使用。11.获取商品列表数数据并渲染。2.拒绝授权和授权完整流程。9.封装商品模块接口API。13.判断数据加载是否完毕。16.封装购物车接口API。19.立即购买和加入购物车。18.关联store对象。20.展示购物车购买数量。10.准备列表请求参数。12.上拉加载更多功能。14.节流阀进行列表节。6.收货地址列表渲染。17.模块分析和渲染。
2026-05-30 22:46:32
91
原创 微信小程序6
一个页面或组件可能会绑定多个store,这时可以将storeBinding改造成数组,数组每一项就是一个个遥绑定的store。小程序框架没有提供计算属性相关的Api,但是官方为开发者提供了拓展工具库miniprogram-computed。mobx-miniprogram是针对小程序开发的一个简单,高效,且轻量级的状态管理库,能提升小程序开发效率。在component.js中引入miniprogram-computed。fields,actions有两种写法,数组或对象。在组件中使用store数据。
2026-05-16 20:40:42
264
原创 5.微信小程序
wx.showModal()模态对话框是一个频繁使用的Api,通常向用户询问一些操作,如是否退出删除。小程序大部分Api都是异步Api,这类Api接口通常都接收一个Object类型的形参。wx.toast({title:'数据加载失败..',mask:true})toast({title:'数据加载失败..',mask:true})创建一个toast方法对wx.showToast()方法进行封装。(3)从本地移除指定k的数据。(3)从本地移除指定k的数据。(4)清除本地所有数据。(4)清除本地所有数据。
2026-05-16 19:24:50
270
原创 小程序04
目前小程序已经支持npm安装第三方包,因为node_modules目录中的包不会参与小程序项目的编译,上传和打包,因此在小程序项目中要使用的npm包,必须走一遍构建npm的过程。这是需要开发者在project.config.json中指定node_modules的位置和目标miniproggram_npm的位置。(2)使用外部样式类:需要注意的是普通样式类的和外部样式类的优先级是未定义的,使用时需要添加!(1)解除样式隔离:在页面中使用Vant Weapp组件时,可以直接在页面的样式文件中覆盖样式。
2026-05-06 15:45:01
210
原创 微信小程序3
获取组件实例:父组件可以通过this.selectComponent方法,获取子组件实例对象,这样就可以直接访问子组件的任意数据和方法,this.selectComponent方法在调用时需要传入一个匹配选择器selector。在使用基础组件时,可以在组件中间写字节点,从而将字节点的内容展示到页面中,自定义组件也可以接收子节点,只不过在组件模板中需要定义<slot/>节点,用于承载组件中间的子节点。小程序目前已经支持组件化开发,可以将页面中的功能模块抽取成自定义组件,以便在不同页面中重复使用;
2026-04-17 17:46:40
446
原创 微信小程序2
在组件上通过data-*的方式定义需要传递的数据,其中*是自定义的属性,例如:<view data-id="100" bindtap="handler"/>然后通过事件对象进行获取自定义数据。在组件上使用mark:自定义属性的方式将数据传递给事件处理函数,例如:<view mark:id="100" bindtap="handler"/>,然后通过事件对象进行获取自定义数据。在WXML中,普通属性的绑定是单向的,例如:<input value="{{value}}">
2026-04-12 16:47:12
456
原创 第9题解析
(3)当父组件HouseListWithFilter监听到了子组件的view-detail信号后就执行goToDetail函数。图2的函数将会被调用,发生了“view-detail”事件,id为对应房子的id。(2)当下拉框中的内容发生变化时,根据mockHouses中的district中的值改变展示的内容。(1)通过v-model添加filters.(district等)监听下拉框中内容的变化。(2)当路由传参成功时,props:route=>就会返回一个值给HouseDetail。
2026-04-09 20:35:34
55
原创 微信小程序01
但小程序中不能使用HTML标签,也就没有DOM和BOM,CSS也仅仅支持部分选择器,小程序提供了WXML进行页面结构编写,同时用WXSS进行页面样式的编写。在开发web时页面结构由HTML进行编写,例如div,a等,页面样式由css进行编写,例如会用.class和element等选择器。在创建项目时,每个项目会在根目录底下生成两个config.json文件,用于保存开发者的个性化配置。局部样式指在page.wxss中定义的样式,只会覆盖app.wxss中相同的选择器。3.app.wxss:小程序全局样式。
2026-03-24 22:28:25
52
原创 vue15
hash模式使用creatWebHashHistory()history模式使用creatWebHistory()(1)创建路由实例由createRouter实现。配置文件:.eslintrc.cjs。4.pinia创建用户仓库和持久化。(1)prettier风格配置。(2)vue组件名称多单词组成。1.Eslint配置代码风格。(3)props解构(关闭)不加对象或数组最后的逗号;2.暂存区eslint校验。5.数据交互-请求工具设计。参数是基础路径,默认/
2026-02-26 18:30:48
76
原创 vue.14
(3)去掉了modules的概念,每一个store都是一个独立的模块。异步action函数的写法和组件中获取异步数据的写法完全相同。pinia是vuex最新状态管理工具,是vuex的替代品。2.pinia - action异步写法。(4)配合TypeScript更友好。(2)提供符合组合式风格的API。3.storeToRefs方法。(1)提供了更简单的API。1.什么是pinia。5.pinia持久化。
2026-02-25 17:27:31
28
原创 vue.13
defineOptions是用来定义Options API的选项,可用来定义任意的选项,除了props,emits,expose,slots.默认情况下在<script setup>语法塘下组件内部的属性和方法是不开发给父组件访问的。(1)顶层组件通过provide函数提供数据。(2)底层组件通过inject函数获取数据。(2)通过ref标识绑定ref对象到标签。父组件中给子组件标签通过@绑定事件。子组件内部通过emit方法触发事件。子组件内部通过props选项接收。父组件中给子组件绑定属性。
2026-02-25 16:19:02
26
原创 vue.12
(2)<script setup>中执行ref函数并传入初始值,使用变量接收ref函数的返回值。(2)<script setup>中执行reactive函数并传入类型为对象的初始值。(2)执行函数在回调参数中return基于响应式数据做计算的值,用变量接收。(2)执行watch函数传入要侦听的响应式数据和回调函数。(1)vue中导入reactive函数。(1)vue中导入computed函数。(1)vue中导入ref函数。4.reactive函数。(1)导入watch函数。1.为什么要学vue3。
2026-02-20 23:00:00
22
原创 vue.10
封装storage储存模块,利用本地存储,进行vuex持久化处理。(1)token存入vuex,易获取,响应式。(2)相同的请求可以直接复用。(2)通过this直接调用。4.storage储存模块。(1)请求与页面逻辑分离。(2)vuex需要分模块。(3)请求进行统一管理。(1)vuex刷新会丢。2.toast轻提示。3.登陆权限信息储存。
2026-02-06 23:00:12
65
原创 vue.9
(2)根目录新建postcss.config.js文件。组件库就是封装了很多组件整合到一起的组件库。(3)babel.config.js中配置。(4)main.js按需注册。(2)main.js中注册。(1)安装vant-ui。(1)安装vant-ui。2.postcss插件。
2026-02-06 22:02:08
28
原创 vue.8
(1)state提供唯一的公共数据源,所有共享的数据都有统一放到store中的state中储存。在state对象中可以添加我们要共享的数据。除了state之外,有时我们还需要从state中派生一些状态,这些状态依赖state,此时会用到getters。mapMutations与mapState很像,它就是把位于mutations中的方法提取了出来,#mapstate是辅助函数,帮助我们把store中的数据自动映射到组件的计算属性中。(1)定义mutations对象,对象在存放修改state的方法。
2026-02-05 21:55:10
60
原创 vue.7
keep-alive是一个抽象组件,不会被渲染成一个DOM元素,也不会出现在父组件链中。keep-alive是vue内部组件,当包裹动态组件时,会缓存不活动的组件实例。在组件切换过程中,把切换出去的组件保留在内存中,防止重复渲染DOM。(2)exclude:组件名数组,任何匹配的组件不会被缓存。(1)include:组件名数组,只有匹配的组件会被缓存。vuex是vue的一个状态管理工具,状态就是数据。(3)max:最多可以缓存多少组件实例。1.缓存组件keep-alive。7.ESlint代码规范。
2026-02-03 19:15:45
88
原创 vue.6
vue-router提供了一个全局组件router-link。linkExactActiveClass精确匹配,类名自定义。(5)将路由对象注入到New vue实例中,注入关联。linkActiveClass模糊匹配,类名自定义。(1)能跳转但需要配置to属性指定路径,无需#(6)创建需要的组件,配置路由规则。scr/components文件夹。页面组件-页面展示-配合路由使用。复用组件-展示数据-常用于复用。(7)配置导航,配置路由出口。scr/views文件夹。(2)默认会提供高亮类名。
2026-01-31 22:58:01
37
原创 vue.5
(2)使用组件时<MyDialog></MyDialog>标签内部,传入结构替换slot。(3)在template中,通过`插槽名="obj"`接受,默认插槽名为default。定义slot插槽的同时,是可以传值时,给插槽上绑定数据,将来使用组件时可以使用。插槽后备内容:封装组件时,可以为预留的<slot>插槽提供后备内容。语法:在<slot>标签内,放置内容,作为默认显示内容。外部使用组件时,传内容了,slot不显示后备内容。外部使用组件时,不传内容,slot显示后备内容。
2026-01-30 22:24:13
99
原创 vue.4
原理:v-model本质上是一个语法糖,例如在输入框中,就是value和input的合写。(1)父传子:数据应该是父组件props传递过来的,v-model拆解绑定数据。作用:为组件的prop指定验证要求,不符合要求,就会有错误提示。父组件v-model简化代码,实现子组件和父组件双向绑定。prop的数据是外部的,不能直接改,遥遵循单向数据流。特点:prop属性名,可以自定义,非固定为value。表单类组件封装:实现父组件和子组件数据的双向绑定。作用:实现父组件和子组件数据的双向绑定 ,简化代码。
2026-01-29 22:13:56
461
原创 vue.3
一个组件的data选项必须是一个函数,保证每一个组件实例,维护独立的一份数据对象。局部注册:可以给组件加上scoped属性,使其只作用与当前组件。组件的数据之间是相互独立的,无法直接访问其他组件的数据。组件通信就是指组件与组件之间的数据传递。全局注册:默认组件的样式会作用到全局。(2)main.js中进行全局注册。子传父:(1)子props发送消息。(2)在使用的组件内导入并注册。(2)父中给子添加消息监听。只能在注册的组件内使用。(2)子props接收。(1)创建vue文件。(1)创建vue文件。
2026-01-27 22:01:16
121
原创 vue.2
3.常见的表单元素可以用v-model绑定关联,快速获取和设置表单的值。需要调用:this.方法名(){{ 方法名 }} @事件名=方法名。数组中的所有值都会被添加到盒子上,本质上就是一个css列表。methods方法:给实例提供一个方法,调用处理业务逻辑。computed计算属性:封装了对一段属性的处理。计算属性就是基于现有的数据,计算出来的新属性。直接用this.计算属性{{ 计算属性 }}v-model.trim:去掉首尾空格。v-model.number:转数字。语法:写在methods配置中。
2026-01-26 18:30:43
143
原创 vue笔记.1
v-show="表达式":表达式值为true显示,值为flase则隐藏。v-if="表达式":表达式值为true显示,值为flase则隐藏。语法:v-for="(item,index) in 数组名"v-html="表达式":动态设置元素innerHTML。#支持的是表达式,而非语句,比如:if, for。v-else和v-else-if:辅助v-if进行渲染。或省略数组名:v-for="item in 数组名"语法:v-else v-else-if="表达式"v-on:事件名=methods中的函数名。
2026-01-23 18:52:47
247
原创 js笔记.06
对象都会有一个属性_proto_指向构造函数的prototype原型对象,之所以我们对象可以使用构造函数prototype原型对象的属性和方法,就是因为对象有_proto_原型的存在。其实字符串,数值,布尔,undefined,null这些基本类型也有专门的构造函数,我们称为包装类型。我们可以把那些不变的方法,直接定义在prototype对象上,这样所有对象的实例就可以共享这些方法。JS规定,每一个构造函数都有一个prototype属性,指向另一个对象,所以我们也称为原型对象。
2025-12-11 15:37:46
278
原创 js笔记.05
script>标签和.js文件的最外层就是所谓的全局作用域,在此声明的变量在函数内部也可以被访问。(2)像document,alert(),console.log()这些都是window的属性,基本BOM的属性和方法都是window的。引入箭头函数的目的是更简短的函数写法并且不绑定this,箭头函数的语法比函数表达式跟简洁。1.赋值运算符=左侧的{ }用于批量声明变量,右侧对象的属性值用将赋值给左侧的变量。1.赋值运算符=左侧的[ ]用于批量声明变量,右侧数据的单元值将赋值给左侧的变量。
2025-12-07 16:34:35
876
原创 js笔记.04
当一个元素的事件被触发时,同样的事件会在该元素的所以祖先元素中触发,这一过程被称为事件冒泡(就是当一个元素触发事件后,会依次向上调用所有父级元素的同名事件)给父元素注册事件,当我们触发子元素的时候,会冒泡到父元素身上,从而触发父元素事件。环境对象指的是函数内部特殊的变量this,它指的是当前函数运行时所处的环境。获取元素的自身宽高,包含元素自身设置的宽高,padding,border。无需实体化(但只能得到当前的时间戳,但前面两种可以返回指定时间的时间戳)元素节点(所有的标签,如body,div。
2025-11-27 15:43:45
757
原创 js笔记.03
标准属性:标签天生自带的属性,比如class id title等,可以直接使用的点语法操作如disable,checked,selected。表单属性中添加就有效果,移除就没有效果,一律使用布尔值表示,如果true代表添加了属性,那么false就代表了移除了该属性。表单在很多时候,都需要修改属性,如点击眼睛就可以看见密码,本质是把表单类型转化为文本框。如果修改的样式较多,直接用style属性修改较繁琐,我们可以借助css类名的形式。网页中会需要一种功能,每隔一段时间,自动触发一次,不用手动触发。
2025-11-20 12:11:43
691
原创 js笔记.02
",0,undefined,null,false,NaN转换后布尔值都是false其余都是true。(2)数组.unshift()可以将一个或多个元素添加到数组开头,并返回数组的新长度。(1)数组.push()可以将一个或多个元素添加到数组末尾,并返回数组的新长度。匿名函数就是没有名字的函数,无法直接调用,只能在函数表达式或立即执行函数中使用。(4)数组.shift()可以将第一个元素删除,并返回该元素的值。(3)数组.pop()可以将最后一个元素删除,并返回该元素的值。#立即执行函数后面一定要加“;
2025-11-11 13:40:03
220
原创 js笔记.01
10.通过 " (双引号) ' (单引号) ` (反引号)包裹的数据都叫字符串,推荐使用单引号【1.无论单双引号都要成双使用。15.可以使用typeof来检测数据类型,有两种语法形式,作为运算符时用typeof x(较常用),函数形式就用typeof (x)。var是以前常用的声明变量的方式,存在不少问题。17.+号只要两边有一个字符串,都会把另一个转换为字符串,除+号外,-号*号和/号都会把数据转换为数字类型。(1)if里面如果是数字,那么除了0全为true,如果是字符串,除了空字符串其他都为真。
2025-11-05 13:44:16
394
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅