2021年6月27日
摘要: 在页面底部的MainTabBar组件中一共四个tag:Home、Cart、Category和Profile,对应路由表中的四个配置。当用户从Home切换到其它tag后,我们希望能保存下此时Home的状态,如滚动位置、高亮商品类别等。这样当用户再次回到Home页面时,看到的还是离开时的样子。 事实上, 阅读全文
posted @ 2021-06-27 16:09 springxxxx 阅读(127) 评论(0) 推荐(0) 编辑
摘要: 首先我们需要确定如何存储获取到的商品数据。在后端定义的接口中,所有商品数据被分为new/pop/sell三类,它们互不影响。假设页面默认停留在new类商品,第一次请求(即页面初始化显示)时应该获取每一类商品的第1页。并且随着用户滚动页面,可以依次获取当前new类商品的第2、3……页数据。当用户通过点 阅读全文
posted @ 2021-06-27 15:47 springxxxx 阅读(188) 评论(0) 推荐(0) 编辑
  2021年6月25日
摘要: GoodsList组件用来展示商品列表,而单个商品对应的组件是GoodsListItem,前者是后者的容器。之前我们在实现类似结构时,会在item组件中定义几个插槽,然后在容器组件中对插槽进行填充。但这次由于item中的结构较为复杂,所以老师采用了另一种组件通信方式,即props。首先爷爷组件Hom 阅读全文
posted @ 2021-06-25 02:48 springxxxx 阅读(541) 评论(0) 推荐(0) 编辑
摘要: 为了减少项目对第三方框架的依赖,我们不会在每个文件中都对其引入,而是在一个文件中将其封装为一个自定义的方法,然后在项目中使用该自定义方法。这样如果某一天这个第三方框架不再维护、被抛弃以后,只需要对封装的文件进行修改。 由于不同网络请求的配置不同,特别是当服务器是分布式、代理式的时,可能baseURL 阅读全文
posted @ 2021-06-25 00:57 springxxxx 阅读(63) 评论(0) 推荐(0) 编辑
  2021年6月24日
摘要: TabControl中包含三个表示分类的tag:流行(pop)、新款(new)和精选(sell)。当点击对应的tag后,下方显示的商品列表便会进行相应的切换。此外,TabControl组件还有一个重要的功能就是:当向下滚动到一定距离后,它会悬停在滚动区域的顶部。下面我们来依次实现这些功能。 关于Ta 阅读全文
posted @ 2021-06-24 00:03 springxxxx 阅读(75) 评论(0) 推荐(0) 编辑
  2021年6月23日
摘要: MainTabBar组件在软件下方展示了四个主选项卡:首页(Home)、分类(Category)、购物车(Cart)、我的(Profile),每个选项对应一个页面、一个组件。总体来看,MainTabBar可以看做由一个容器+若干个item组成,所以我们把单个item看做一个组件,把容器看作另一个组件 阅读全文
posted @ 2021-06-23 22:43 springxxxx 阅读(130) 评论(0) 推荐(0) 编辑
  2021年6月22日
摘要: 在这里总结一下二叉搜索树常用的方法。 准备工作:仿照链表的实现,在二叉搜索树类中也需要一个内部节点类。该节点类包含三个属性:存储节点值的key、指向左子树的left、指向右子树的right。此外,在二叉搜索树中添加一个root属性,指向根节点。 function Node(key) { this.k 阅读全文
posted @ 2021-06-22 19:32 springxxxx 阅读(67) 评论(0) 推荐(0) 编辑
摘要: 本文总结一下链表常用方法的实现。 准备工作:由于链表由一个个节点组成,且节点在内存中的存储不连续,所以我们需要封装一个内部的Node类,包含两个属性:节点值data和下一个节点的引用地址next。此外在链表类中还需要两个属性:head用来指向第一个节点,length表示当前链表的长度。 // 内部的 阅读全文
posted @ 2021-06-22 19:26 springxxxx 阅读(65) 评论(0) 推荐(0) 编辑
摘要: 快速排序 快速排序的思路是,先选择任意元素为轴,将比轴小的元素都放在其左边,比轴大的元素都放在其右边,这样轴的位置一定是正确的。之后通过递归,对轴左右两边的元素都进行快速排序。最终实现整个数组有序。 那么第一个问题来了,怎么选择轴呢?这里b站的coderwhy老师给出一种方案:让数组首尾中三处元素当 阅读全文
posted @ 2021-06-22 16:41 springxxxx 阅读(51) 评论(0) 推荐(0) 编辑
摘要: 希尔排序 我们还记得,插入排序的思路是: 1、外循环依次拿出第二个到最后一个元素,记作temp。 for (let i = 1; i < length; i++) { let temp = this.array[i] 2、将temp与它前面的元素依次进行比较。定义一个指针j指向前面的元素 let j 阅读全文
posted @ 2021-06-22 12:47 springxxxx 阅读(40) 评论(0) 推荐(0) 编辑