首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

小程序分类页实现三级分类,顶部导航栏,左侧分类栏,右侧数据列表

如果大家一直读石头哥的文章,或者看石头哥的视频,肯定知道,石头哥的点餐小程序有实现二级菜品或者商品分类。 如下图 ? 但是有时候我们想实现三级分类,该怎么做呢,今天就来教大家如何实现三级分类。...先来给大家分析下原理 二,原理分析 首先来分析下有那三级 ? 可以看出,我们最顶部是一级菜单,左侧是二级菜单,右侧是最终的三级列表。...到这里我们的三级分类就实现了 四,完整项目代码 下面把完整项目代码,贴出来给大家 4-1,wxml <!...margin: 30rpx auto; z-index: 1; border-radius: 10rpx; background-size: cover; } 4-3,js...到这里我们的三级分类就完整的实现了。关于excel数据批量导入,我下节再做讲解的。欢迎关注,欢迎留言交流。

3.3K41
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    【算法】找出三级分类中的最低级对象

    题目 三级分类泛指事物从属于三个分类,这三个分类拥有从属关系,如商品的三级分类,代理等级,领导关系… 有时候我们需要找出该事物最接近的一个分类。...下面以行政区领导关系为例: 现有三级领导,省领导–市领导–区县领导,一个省领导下有多个市领导,一个市领导只从属于一个省领导,一个市领导下有多个区县领导,一个区县领导只从属于一个市领导。...一个地区可以只有单个、两个或三个领导,如: 三级领导都有; 有省领导而没有市领导也没有区县领导; 有市领导有省领导但没有区县领导; … … 只有省领导; 只有市领导; 只有区县领导 给出小明的用户...id,可以查询出他所在地的n领导信息(n<=3,一个地区最多三级领导),请设计算法,找出其中行政等级最低的领导。

    38910

    js分类刷leetcode动态规划

    :3 解释:F(4) = F(3) + F(2) = 2 + 1 = 3提示:0 <= n <= 30 方法1.动态规划 思路:自底而上的动态规划 复杂度分析:时间复杂度O(n),空间复杂度O(1) Js...<= 100 obstacleGridi 为 0 或 1 方法1.动态规划 思路:和62题一样,区别就是遇到障碍直接返回0 复杂度:时间复杂度O(mn),空间复杂度O(mn),状态压缩之后是o(n) Js...复杂度:时间复杂度O(n* sqrt(n)),n是输入的整数,需要循环n次,每次计算dp方程的复杂度sqrt(n),空间复杂度O(n) js: var numSquares = function (n)...= 45 方法1.动态规划 图片 思路:因为每次可以爬 1 或 2 个台阶,所以到第n阶台阶可以从第n-2或n-1上来,其实就是斐波那契的dp方程 复杂度分析:时间复杂度O(n),空间复杂度O(1) Js...空间复杂度是O(s),也就是dp数组的长度 Js: var coinChange = function (coins, amount) { let dp = new Array(amount +

    1.1K30

    js分类刷leetcode.动态规划

    :dp[i][0]表示背包的容积为0,则背包的价值一定是0,dp[0][j]表示第0号物品放入背包之后背包的价值 图片最终需要返回值:就是dp数组的最后一行的最后一列循环完成之后的dp数组如下图图片js...空间复杂度如果原地修改是O(1),如果新建dp数组就是O(mn)js:var minPathSum = function(dp) { let row = dp.length, col = dp[0...trianglei <= 104 方法1.动态规划图片思路:从三角形最后一层开始向上遍历,每个数字的最小路径和是它下面两个数字中的较小者加上它本身复杂度分析:时间复杂度O(n^2),空间复杂O(n)Js...复杂度:时间复杂度O(n* sqrt(n)),n是输入的整数,需要循环n次,每次计算dp方程的复杂度sqrt(n),空间复杂度O(n)js:var numSquares = function (n) {...空间复杂度是O(s),也就是dp数组的长度Js:var coinChange = function (coins, amount) { let dp = new Array(amount + 1)

    83620

    三级缓存

    当你听到三级缓存的时候,你在想什么?你了解过的有哪些三级缓存?CPU三级缓存?Spring三级缓存?应用架构(JVM、分布式缓存、db)三级缓存?...今天爬完香山,趁自己还不困的时候,把三级缓存的一些重点絮叨絮叨。 CPU三级缓存 离 CPU 核心越近,缓存的读写速度就越快。但 CPU 的空间很狭小,离 CPU 越近缓存大小受到的限制也越大。...所以,综合硬件布局、性能等因素,CPU 缓存通常分为大小不等的三级缓存。...三级缓存要比一、二级缓存大许多倍,这是因为当下的 CPU 都是多核心的,每个核心都有自己的一、二级缓存,但三级缓存却是一颗 CPU 上所有核心共享的。...Spring三级缓存 Spring三级缓存机制包括以下三个缓存:1. singletonObjects:用于存储完全创建好的单例bean实例。

    71320

    Spring三级缓存

    Spring三级缓存 循环依赖 如何解决循环依赖 三级缓存解决循环依赖 三级缓存解决流程 模拟流程 aop与循环依赖 ---- 循环依赖 循环依赖如下图所示: 对应的spring代码形式如下: @...---- 模拟流程 这里我们可以模拟一下Spring三级缓存解决循环依赖的过程: getBean(A),首先查询三级缓存,因为是第一次创建,因此三级缓存没有,直接返回。...实例化A之后,构造相应的单例工厂,加入三级缓存,进入属性赋值阶段,发现依赖B,去getBean(B) getBean(B),首先查询三级缓存,因为是第一次创建,因此三级缓存没有,直接返回。...实例化B之后,构造相应的单例工厂,加入三级缓存,进入属性赋值阶段,发现依赖A,去getBean(A) getBean(A),首先查询三级缓存,因为A还没初始化完毕,因此还没有被放入一级缓存中去,此时二级缓存也没有...,然后发现三级缓存有 从三级缓存中取出对应的单例工厂,然后将提前暴露的A放入二级缓存,并从三级缓存移除对应的单例工厂 直接返回缓存中的A B进行初始化,然后进行循环依赖最后的校验,发现二级缓存中不存在提前暴露的

    63820

    spring 三级缓存

    AService提前进行AOP aService Bean的生命周期 creatingSet 实例化-- -AService不完整对象 (new AService()) 原始对象— >第三级缓存...填充aService属性-- >从单例池找aService—>找不到–>aService正在创建中-- >aService出现了循环—>第二级缓存—>第三级缓存–>执行lambda—>--- >提前AOP...:singletonFactories HashMap 一级缓存存的是完整的对象 二级缓存和三级缓存存的是不完整的对象 一级缓存使用...ConcurrentHashMap保证原子性 二级缓存和三级缓存两个是一个原子操作 使用synchronized来保证 protected Object getSingleton(String beanName...&& allowEarlyReference) { // 当某些方法需要提前初始化的时候则会调用addSingletonFactory方法将对应的ObjectFactory初始化策略存储在三级缓存

    35010

    浅谈spring三级缓存

    三级缓存就是三个map,singletonObjects是一级缓存,存放完整对象,singletonFactories是二级缓存,存放半成品对象,earlySingletonObjects是三级缓存,存放...a发现需要b对象,但是三级缓存没有b,于是创建b的半成品放入三级缓存, b发现需要a对象,一二级缓存没有,在三级缓存发现,于是将a放入二级缓存,同时删除三级缓存的a,如果a被代理则使用代理对象 a注入到...为什么不直接将lambda放入二级缓存,非要使用三级缓存?...三级缓存实现aop(代理对象实例化的时候,实例化对象是原始对象,若没有三级缓存,此时若根据类名直接获取对象的话,获取的是原始对象,而我们想要的肯定是通过类名直接获取代理对象,所以Spring在类加载过程中...,直接将实例化的对象放入三级缓存中,从三级缓存中获取类对象的时候,判断类是否被代理,若被代理则返回代理对象) 其实就是三级缓存存入的lambda可以根据需要的生成原始bean或者代理bean,如果只用二级缓存那么只能拿到原始

    25620
    领券