当前位置: 首页 > news >正文

【笔记】vue课堂小作业之书购物车列表的增删改查小记

1. reduce 函数的基本用法

array.reduce((accumulator, currentValue) => { ... }, initialValue);

  • accumulator: 累积器,表示当前累积的值,通常在第一次时为 initialValue。(总数sum)
  • currentValue: 当前数组正在遍历的元素。(遍历元素item)
  • initialValue: reduce 的初始值,在第一次迭代时作为 accumulator 的初始值。(一般为0)

在你的代码中:

  • sum 是累积器,表示当前累积的书的数量。
  • item 是当前数组的元素,表示每一本书。
  • 0reduce 的初始值,即累积器 sum 初始为 0。

代码例子

学习时的疑问

为什么不能调换 sumitem

不能调换 sumitem 的位置。因为 reduce 的设计是将累积的值作为第一个参数,当前元素作为第二个参数。如果调换了两者位置,函数的逻辑就会出错,无法正确累加。

为什么括号后面要跟一个 0

0reduce 的初始值,表示累积器 sum 的初始值。如果你不设置初始值,reduce 会将数组的第一个元素作为初始值,第二个元素作为第一个遍历的 currentValue。在你的例子中,累加的是数量(num),所以初始值 0 是合理的,因为它表示还没有累积任何数量。

2. 页面购物车数据本地化

depp:true(深度监视)的基本用法

watch 是 Vue.js 提供的一个侦听属性变化的机制,它允许你监听某个数据属性的变化,并在变化时执行相应的代码。它特别适用于需要在数据变化时进行异步操作或处理副作用的场景,比如更新 localStorage

deep: true: 这是一个选项,表示进行深度监听。当你监听的属性是一个对象或数组时,Vue 默认只监听该对象或数组的引用,而不会监听它内部的深层变化。如果你希望监听对象内部的属性变化,就需要使用 deep: true。在这种情况下,bookList 是一个数组,因此启用深度监听意味着数组中的元素(比如每本书)发生变化时,也会触发 watch

代码例子:

  • bookList: 这是你要监听的数据属性。在 Vue 的实例中,bookList 可能是你的一个状态属性,包含了多个书籍的列表信息。

  • handler(newValue): 这是回调函数,newValuebookList 发生变化后的新值。每当 bookList 或其内部内容发生变化时(无论是添加、删除书籍,还是修改其中某个书的属性),都会调用这个 handler 函数。

localStorage.setItem

handler 函数中,调用了 localStorage.setItem('bookList', JSON.stringify(this.bookList)),其作用是将当前的 bookList 保存到浏览器的 localStorage

  • localStorage.setItem:这是浏览器的 localStorage API,用来存储数据。它的第一个参数是存储项的键名 'bookList',第二个参数是存储的值,这里通过 JSON.stringifybookList 转换成了字符串格式

  • this.bookList:指向当前 Vue 实例中的 bookList,这个 bookList 是 JSON.stringify 之后被存储到 localStorage 的。


http://www.mrgr.cn/news/49784.html

相关文章:

  • HTML5实现古典音乐网站源码模板2
  • 数据结构实验十一 图的创建与存储
  • 电脑如何屏蔽网站?使用浏览器或者 Hosts 文件都可以
  • YOLO11改进|注意力机制篇|引入CoT注意力机制
  • 【多线程奇妙屋】“线程等待” 专讲,可不要只会 join 来线程等待哦, 建议收藏 ~~~
  • Linux下Git操作
  • pycharm - terminal打开没自动进入虚拟环境
  • DS线性表之栈的讲解和实现(4)
  • 基于微信小程序的四六级词汇springboot+论文开题报告源码调试讲解
  • 指令:计算机的语言(二)
  • 48 | 代理模式:代理在RPC、缓存、监控等场景中的应用
  • 五大检索模式,精确定位所需专利
  • 程序发生闪退且没有生成dump文件问题的排查经验总结与分享
  • springboot 修复 Spring Framework 特定条件下目录遍历漏洞(CVE-2024-38816)
  • AI学习指南深度学习篇-迁移学习(Transfer Learning)简介
  • 母鸡----------
  • 行星滚柱丝杠的特点
  • PHP政务招商系统——高效连接共筑发展蓝图
  • 变频器定位功能块(第三方功能块调试记录+代码)
  • oracle中的exists 和not exists 用法