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

vue系列教程之微商城项目|分类

描述 本文需要实现页面如下,点击左侧导航栏按钮,右侧自动滑动到对应位置。当滑动右侧内容,左侧导航栏也要做出相应变动。 ?...右侧商品分类列表 借助在主页中使用过vant-ui宫格布局快速实现相应布局和样式. ? ? ? ? ? ? 这样就完成了相应静态布局,但无法实现内容滚动效果。...但这样做better-scroll可能仍然无法正常运行,因为页面渲染是迟js代码,this.goods=res.data执行完之后,页面中很有可能还有其他元素在渲染,那this....联动思路 通过监听'scrollEnd'事件,获取当前显示子元素索引,奖其赋值给this.activeKey,因为this.activeKey左侧导航栏动态绑定,这样就完成了滚动右侧内容,左侧导航栏随之变化效果...赋值给wheel中selectedIndex属性,就完成了点击左侧导航按钮,右侧自动滚动到对应内容.完整代码如下 fenlei.vue ?

6.3K10
您找到你想要的搜索结果了吗?
是的
没有找到

JavaScript大小比较 赋值运算符详解

例如,下面的写法是错误因为左侧值是一个固定值,不允许操作。...附加操作赋值运算 :赋值之前先对右侧操作数执行某种操作,然后把运算结果复制给左侧操作数。具体说明如表所示。 示例1 使用赋值运算符设计复杂连续赋值表达式。..."" + b)};) 赋值运算结合性是从右向左,最右侧赋值运算先执行,然后再向左赋值,以此类推,所以连续赋值运算不会引发异常。...示例2 在下面表达式中,逻辑左侧操作数是一个赋值表达式,右侧操作数也是一个赋值表达式。但是左侧值是一个简单值,右侧是把一个函数赋值给变量b。...var a; console.log(a = 6 && (b = function(){ return a; })() ); 在逻辑运算中,左侧赋值并没有真正复制给变量 a,当逻辑运算执行右侧表达式时

30230

《C++Primer》第四章 表达式

::右结合律 逗号运算符,:先求左侧 算术运算符 需要注意如下几点: 当计算结果超出该类型所能表示范围时可能产生溢出,比如最大short型数值为32767,这时候+1可能输出-32768(这是因为符号位从...&和逻辑或||都是先求左侧对象值再求右侧运算对象值,当且仅当左侧运算对象无法确定表达式结果才会计算右侧运算对象值,这种策略被称为短路求值。...对char或者类型为char表达式执行sizeof,返回1 对引用类型执行sizeof运算得到被引用对象所占空间大小 对指针执行sizeof得到指针本身所占空间大小 对解引用指针执行sizeof...vector对象执行sizeof运算只返回该类型固定部分大小,不会计算对象中元素占用了多少空间 因为sizeof返回值是一个常量表达式,因此我们可以用sizeof结果声明数组维度 类型转换...int i, j; double slope = static_cast (j) / i; 另一种用法对于编译器无法自动执行类型转换也非常有用,例如我们使用static_cast召回存在

83610

(转载非原创)编程思想算法leetcode_二分算法详解

答:要保证能遍历到数组第一个元素和最后一个元素。因为初始化 h 赋值是 len(nums) - 1,即最后一个元素索引,而不是 len(nums)。...但是如果我想得到 target 左侧边界,即索引 1,或者我想得到 target 右侧边界,即索引 3,这样的话此算法是无法处理。 这样需求很常见。...为什么 while 循环条件中是 <=,而不是 < ? 答:因为初始化 h 赋值是 len(nums) - 1,即最后一个元素索引,而不是 len(nums)。...但是如果我想得到 target 左侧边界,即索引 1,或者我想得到 target 右侧边界,即索引 3,这样的话此算法是无法处理。 这样需求很常见。...= m ​ 因为我们需找到 target 左侧索引 所以当 nums[m] == target 时不要立即返回 而要收紧右侧边界以锁定左侧边界 第三个,寻找右侧边界二分查找: 因为我们初始化 h

34120

二分法注意点_二分法怎么用

为什么 while 循环条件中是 <=,而不是 < ? 答:因为初始化 right 赋值是 nums.length-1,即最后一个元素索引,而不是 nums.length。...这二者可能出现在不同功能二分查找中,区别是:前者相当于两端都闭区间 [left, right],后者相当于左闭右开区间 [left, right),因为索引大小为 nums.length 是越界。...但是如果我想得到 target 左侧边界,即索引 1,或者我想得到 target 右侧边界,即索引 3,这样的话此算法是无法处理。 这样需求很常见。...target 左侧索引 7 所以当 nums[mid] == target 时不要立即返回 8 而要收紧右侧边界以锁定左侧边界 第三个,寻找右侧边界二分查找: 1 因为我们初始化 right...right = mid 5 6 因为我们需找到 target 右侧索引 7 所以当 nums[mid] == target 时不要立即返回 8 而要收紧左侧边界以锁定右侧边界 9 10 又因为收紧左侧边界时必须

31430

C++笔记——关于拷贝构造、拷贝赋值、析构(0)

在下面这种情况会调用拷贝复制函数: String s2 = s3; 值得注意左侧函数名部分,不能够省略掉&,因为这个类有指针。 类同名,但是前面带着波浪号~是析构函数。...图二 构造函数和析构函数定义如图二所示,注意inline,因为这是在类定义外面写,所以要注意机上inline定义为内联函数,否则编译器会当作函数处理。...;而b原本指向地方因为没有被销毁,但是又没有指针指向它,导致无法访问,最终就会造成内存泄露。...上图是拷贝赋值函数,注意检测,这里检测一定不能够丢掉,因为这里思路就是,将左侧内容给清空,然后重新分配一个和右侧内容相同大小空间,最后将右侧对象内容复制到左侧对象(自己)去。...上图右侧是使用例子。

79210

【 JavaSE 】 数据类型和运算符

表示真, false 表示假(C语言不同) Java 中 boolean 类型和 int 不能相互转换(类型兼容),不存在 1 表示 true, 0 表示 false 这样用法 boolean...变量名是大小写敏感. 即 num 和 Num 是两个不同变量 注意: 虽然语法上也允许使用中文/美元符($)命名变量, 但 强烈 推荐这样做 软性指标: 1....boolean b = true; b = a; // 编译出错, 提示兼容类型 a = b; // 编译出错, 提示兼容类型 注:int 和 boolean互不相干,互不相干类型之间无法强转...false, 无需计算右侧表达式 对于||:如果左侧表达式值为 true, 则表达式整体值一定是 true, 无需计算右侧表达式 示例: System.out.println(10...< : 最左侧位不要了 , 最右侧补 0 右移 >> : 最右侧位不要了 , 最左侧补符号位 ( 正数补 0, 负数补 1) 无符号右移 >>>: 最右侧位不要了 , 最左侧

42930

「大众点评点餐」小程序开发经验 03:事件联动

我们实践时发现,使用 scroll-view 可以指定高度,页面有滚动区存在。但这么做,滚动时无法触发 scroll 事件,也就无法完成联动设计。...左侧右侧联动 首先我们要做到:点击左侧导航菜单栏,右侧定位到对应分类菜品详情。...但我们发现,右侧 scroll-view 不会因此滚动到指定高度。 我们猜想,可能是因为获取到 dataset.id 是一个数字类型字符串,其内部使用 === 方式导致匹配。...由于小程序无法获取元素宽高,位置信息,滚动右侧实现左侧联动效果实现难度非常高。 如何准确获取右侧滚动到具体分类,并让左侧导航菜单栏相应分类高亮,且在可视范围内?...限制右侧 scroll 事件函数执行。 在这里,我推荐使用第二种方式。因为在不同机器上,硬件会存在细微差别,我们无法准确设置误差范围。

2.6K40

学妹看见都惊呆Python小招数!【详细语言特性使用教程】

2、切片 之前介绍过切片用法,使用它可以从序列中取出一个子序列。切片以索引区间 [起始索引:结束索引] 来表示,注意这是一个左闭右开区间。...2、拆包 多个变量和多个值可以用一个赋值符号(=)做到同时赋值赋值时,将根据位置关系,将 = 右侧值分别赋值左侧变量。...>>> a 1 >>> b 2 拆包时,= 右侧序列长度需要与左侧变量个数相同。...4、try except else 语句 try except 语句后面同样可以接 else 语句: try: pass except: print('有异常发生,执行 else 语句...语句’) … 没有异常发生,执行 else 语句 >>> try: … raise Exception … except: … print(‘有异常发生,执行 else

64530

这才是 Python 学习正确起手姿势,滚雪球学 Python,python入门教程

安装任何环境开发工具简单但是普通,能完成表示拿到了一张门票,剩下就是技术学习了。 创建文件,在左侧目录上点击鼠标右键,选择 New 之后选择 Python File 即可。...当初写这段代码时候,只有我和上帝知道是什么意思,现在,只有上帝知道了。...,数字,_(下划线)或中文汉字所构成 英文字母大小写敏感,Age age 是不同变量名称 Python 内置保留字和内置函数不能当做变量名称 一定要注意,尽管使用中文汉字当做变量没有什么问题,但是尽量不用.../求整除、加法/减法依次执行代数保持一致。...,代码如下: x,y,z = 1,2,3 注意,左侧变量数量和右侧数量要保持一致。

32140

python之字符串操作方法

,字符本身,字符右侧 print(a.rpartition('a'))                        #从右往左以第一个指定字符为分隔将字符串分割为三部分形成元组:字符左侧,字符本身,字符右侧...#删除字符串右侧空格,制表符,回车,也可指定字符 print(a.lstrip())                                #删除字符串左侧空格,制表符,回车,也可指定字符...#找到指定字符第一次出现索引位,如没有则返回-1 print(a.rfind('l'))                             #查找指定字符最后一次出现索引位,没有返回-1 print...(a.format('22','feng'))                    #格式化输出,使用指定索引赋值 六、高级用法。...中值 test = 'abcdefg' print(test.translate(make))                     #使用映射值替换self中值 总结:     初次总结,有恰之处

60810

密码学技术02

它原理是:“讲明文一串随机比特序列进行XOR运算” 为什么说是绝对无法破译?...这里说无法破译并不是指现实时间内难以破译,而是即使拥有一个强大计算机,可以在一瞬间遍历任意大小密钥空间,依然无法破译 因为即使我们破译出了正确字符串,也不知道是否是正确因为通过一系列异或,...因为它非常不实用,最大问题在于密钥配送,如果我们可以安全配送密钥,那我们为什么直接配送跟它长度相同明文呐?...一轮过程: 1.将输入数据等分为左右两份 2.输入右侧直接发送到输出右侧 3.输入右侧发送到轮函数 4.轮函数根据输入右侧和子密钥计算出一串随机比特序列 5.将得到比特序列输入左侧进行异或,并将结果作为输出左侧...是为了增加 DES 强度,将 DES 重复3次所得到一种密码算法 三重密码算法设计并不是进行三次 DES 加密(加密->加密->加密),而是加密->解密->加密 这是为了让三重 DES 能够兼容普通

67130

二分查找算法详解

为什么 while 循环条件中是 <=,而不是 < ? 答:因为初始化 right 赋值是 nums.length - 1,即最后一个元素索引,而不是 nums.length。...这二者可能出现在不同功能二分查找中,区别是:前者相当于两端都闭区间 [left, right],后者相当于左闭右开区间 [left, right),因为索引大小为 nums.length 是越界。...但是如果我想得到 target 左侧边界,即索引 1,或者我想得到 target 右侧边界,即索引 3,这样的话此算法是无法处理。 这样需求很常见。...至于为什么要减一,这是搜索右侧边界一个特殊点,关键在这个条件判断: if (nums[mid] == target) { left = mid + 1; //...mid] == target 时不要立即返回 而要收紧右侧边界以锁定左侧边界 第三个,寻找右侧边界二分查找: 因为我们初始化 right = nums.length 所以决定了我们「搜索区间」是 [

1K41

二分查找算法细节详解

答:因为初始化 right 赋值是 nums.length-1,即最后一个元素索引,而不是 nums.length。...这二者可能出现在不同功能二分查找中,区别是:前者相当于两端都闭区间 [left, right],后者相当于左闭右开区间 [left, right),因为索引大小为 nums.length 是越界。...但是如果我想得到 target 左侧边界,即索引 1 2,或者我想得到 target 右侧边界,即索引 3 3,这样的话此算法是无法处理。 这样需求很常见。...至于为什么要减一,这是搜索右侧边界一个特殊点,关键在这个条件判断: if (nums[mid] == target) { left = mid + 1; // 这样想: mid = left...[mid] == target 时不要立即返回 而要收紧右侧边界以锁定左侧边界 第三个,寻找右侧边界二分查找: 因为我们初始化 right = nums.length 所以决定了我们「搜索区间」是

82620

惊呆程序员Python实用小招数!【详细语言特性使用技巧】

目录 写在前面 一、索引和切片相关操作 1、索引 2、切片 二、赋值相关操作 1、连续赋值 2、拆包 3、赋值 or 关键字 三、控制语句相关操作 1、if 三元表达式 2、for else 语句...2、切片 之前介绍过切片用法,使用它可以从序列中取出一个子序列。切片以索引区间 [起始索引:结束索引] 来表示,注意这是一个左闭右开区间。...2、拆包 多个变量和多个值可以用一个赋值符号(=)做到同时赋值赋值时,将根据位置关系,将 = 右侧值分别赋值左侧变量。...>>> a 1 >>> b 2 拆包时,= 右侧序列长度需要与左侧变量个数相同。...语句’) … 没有异常发生,执行 else 语句 >>> try: …     raise Exception … except: …     print(‘有异常发生,执行 else

37710

用js来实现那些数据结构14(树02-AVL树)

左侧子节点7平衡因子是2 – 2 = 0;右侧子节点18平衡因子就是5 – 2 = 3;节点70平衡因子是0,要记住所有的叶节点(外部节点)平衡因子都是0。因为叶节点没有子节点。...那么RR,LL,RL,LR是什么意思呢?那么我们继续往下看。 第一种情况:RR。     我们在18右侧子节点再加一个节点20,右侧是要加入比父节点大。     ...想一想你答案。     卖关子了,但是我真的希望大家想一想,因为这很必要也很重要。     好吧,我开始回答第一个问题。...因为我们AVL树,是自平衡二叉搜索树,如果在插入之前就是不平衡,那你告诉我你这是啥?赶紧回头看代码,有BUG了亲。     ...比较左节点和右节点大小,返回大那个值,然后 + 1。

42110

算法学习:快速排序

选择基准值(Pivot) 这是算法流程起点,从数列中精心挑选出一个元素,赋予它一个特殊角色——“基准”(pivot)。...这一巧妙划分不仅为后续递归奠定了基础,也直接体现了快速排序分而治之哲学。 3. 递归排序子序列 基于分区结果,数列被明确划分为两个独立部分:左侧全部小于基准值,右侧则大于基准值。...[right])arr[i]交换,使得pivot位于正确位置上 [arr[i], arr[right]] = [arr[right], arr[i]]; // 返回pivot最终位置索引...因为插入排序在小数据集上具有较低常数因子和无需递归优点,能够快速完成排序,快速排序形成互补。 3. 尾递归优化 概念阐述:确保递归调用是函数最后一个操作,便于某些支持该特性编译器进行优化。...实施方法:设计递归逻辑时,直接在递归调用返回语句中返回计算结果,避免在递归返回后还需执行其他操作。

7710

用js来实现那些数据结构14(树02-AVL树)

左侧子节点7平衡因子是2 - 2 = 0;右侧子节点18平衡因子就是5 - 2 = 3;节点70平衡因子是0,要记住所有的叶节点(外部节点)平衡因子都是0。因为叶节点没有子节点。...那么RR,LL,RL,LR是什么意思呢?那么我们继续往下看。 第一种情况:RR。     我们在18右侧子节点再加一个节点20,右侧是要加入比父节点大。     ...想一想你答案。     卖关子了,但是我真的希望大家想一想,因为这很必要也很重要。     好吧,我开始回答第一个问题。...因为我们AVL树,是自平衡二叉搜索树,如果在插入之前就是不平衡,那你告诉我你这是啥?赶紧回头看代码,有BUG了亲。     ...比较左节点和右节点大小,返回大那个值,然后 + 1。

1.2K40

神级Redis可视化工具,你不下载?

为了更方便地管理Redis实例、监控Redis性能、执行Redis命令、查看Redis数据,许多开发者使用可视化管理工具。...兼容Windows、Mac、Linux 更快、更好、更稳定Redis桌面(GUI)管理客户端 支持加载海量key ⚙基础设置 天然支持多种语言,支持深色模式,UI也是很美观 使用方法 ✨1...如下图所示: 连接成功后,ARMD会在左侧显示,如下图所示: 2、监控指标 点击后自动连接,左侧是key,右侧默认显示Redis实例监控信息、数据库信息等,以及Redis实例性能指标,包括内存使用情况...如下图所示: 3、查看value 点击左侧key后,右侧显示keyvalue,可以看到TTL,也可以修改value值 并且他还支持丰富value格式,如下图所示: 不知道你发现没有左侧.../慢查询 更好一点就是他还可以进行内存分析(分析每个key大小)以及查看慢查询。

59520
领券