粉丝5获赞2

微信小程序 scroll view 组件的基本使用,今天我们来了解一下 scroll view 组件的基本使用,那比如说我们希望使用这个组件来实现如图这样的一个纵向滚动的效果。我们先来分析一下,比如说这个黑框是一个有高度的容器, 然后里面有三个紫元素,分别是 abc, 然后咱们通过鼠标或者自己的小手在这里往上拖的话,这里面的三个元素会进行上下滚动,那么这个效果要实现的话,其实非常的简单,咱们总共有三个步骤, 那第一步呢,我们需要将最外层的容器设置成 show view 这个组件,然后第二步咱们需要给这个组件加一个属性,是 screw y, 代表说我们允许在纵向上进行滚动。注意啊, 如果允许纵向滚动的话,需要加一个 scroll y 属性,如果是横向滚动,那就是 scroll x, 同时为了让它能够实现纵向滚动的效果,还必须给这个 scroll view 组件加上一个固定的高度,那于是咱们通过这个样式的形式 给他加了一个固定的高度,是一百五十个像素,那为了让他更加的清晰,咱们可以加一个边框线,同时也给他限制了一下宽度。 清楚地了解这个实现的过程之后,那接下来咱们打开微信开发者工具,咱们可以直接基于上个视频的 flags 横向布局效果来进行修改。 上一个视频咱们外面包裹性质的容器是一个普通的 view, 里面是没有办法实现这种滚动效果的,那接下来咱们可以把包裹性质的容器 从 view 替换成 shrew view, 同时也修改一下结束标签,同时咱们为了开启它纵向滚动的效果,还要给添加一个属性 scroll y, 代表说我们允许在纵向上进行滚动, 那么这个时候大家发现这个效果好像并没有出现,那接下来咱们还少一些样式,因为默认情况下你如果这么写的话是没有办法进行滚动的,咱们还需要给外层包裹性的容器加一个强制性的高度才可以。咱们打开自己的样式表, 咱们就不再进行 flex 布局了。先清空给他添加一个边框线,咱们先看一下外面的容器宽度和高度分别是多少。咱们保存可以看到外面这个包裹性容器,他的高度就是里面三个盒子的总高度,他的 宽度是占满整个横向的区域,那接下来咱们可以限制它的宽度,宽度咱们给它设置一百 p x, 然后保存。这个时候大家可以发现这个黑色的边框线就变得只有一百个像素了,但是这个还是没有滚动的效果, 咱们之前说过还需要加一个限定的高度才能实现纵向的滚动。来咱们加一个高度一百五十 px, 咱们保存看一下效果,我鼠标放上去 网上拖动,可以发现咱们外面这个容器就能够让里面的内容进行滚动了。这里注意之前咱们介绍过,在一些电商的移动端项目里面, 是不是经常可以见到一个左侧的滚动列表效果,其实咱们就可以基于 shrow view 这个组件来进行实现,那么实现的过程总共有三步, 第一步,设置外层包裹性容器为 shiro view。 第二步,如果是纵向滚动的话,要加一个属性 shiro y, 如果是横向滚动,就是加一个属性 scroll x。 第三步,通过样式的形式添加一个强制性的宽度或高度,在固定的宽度中,如果里面的内容超出了咱们设置的区域了,就会出现滚动效果。记得点赞、关注、收藏,咱们下期见!

哈喽,小伙伴们,那这节课呢,我们来封装一个图片预览组件。好,我们先过来一起看一下这个组件呢,他到底长什么样子,哎,他是一个什么样的效果?好,打开我们的预览网站,我们过来呢看看一下。 好,大家看左边啊,在详情里边的左边就是我们所谓的图片预览组件,那这个位置首先在小图切换的时候呢,左边呢,你会发现,哎,他会有一个大图的展示,对不对?来一个对应大图的展示。 今日呢,我们在鼠标呢移到左边的时候,你会发现呢,哎,这是一个我们之前熟悉的放大镜的效果,对不对? 哎,他会有一个放大镜效果,所以说呢,我们这个地方图片原来左键,总的说来他有两个功能,哪两个呀?哎,一个呢是我们的通过小图切换我们的大图显示鼠标移到哪个上面来,那左边呢, 就显示对应的图片。那第二部分呢,是我们的放大镜功能,这个呢,在我们的电商业务里边是不是经常见到呀?哎,他是方便用户呢,查看我们商品的一些细节信息,对不对? 好了,那这小节呢,咱们经过拆剪以后呢,先把我们第一部分给他做一下,哎,通过小图呢切换我们的大图,那下一小节咱们再去实现我们的放大镜效果,能理解哈。好,我们先过来看一下通过小图切换大图该如何来做。好,我们过来 大家想想看哈这个效果该怎么来做,思考一下,有答案了吗?哎,你看哈,是不是这样, 就是说呢,我们需要维护一个数组图片列表,为啥呢?你看这不就是一个列表吗?当然需要一个数组呢,去给他维护一下了。那鼠标滑入小图,我们是不是得记录一下当前 它到底滑到哪个里边了呀?哎,也就是说呢,把这个下标值呢给它记录下来,那通过下标值在数字里边呢,取定的图片显示到大图位置是不就可以了,哎,再详细一点,你看哈,咱们呢肯定是有一个这样的图片列表在里边呢,存放了我们这个位置相关的一些图片地址。 a, 你鼠标移到哪个上面,就把当前项,比方说呢,你移到了第二项上面哈,那咱就把这个第二项的下标值呢给它记录下来。记录下来这个下标值干嘛呢?你看哈左边呢要显示的对应项,那咱们通过这个数组 哎,加上一个下标取值,拿到第二项这个 u l 给它显示到左边是不就可以了呀?哎,这不就是我们这个大体的思路吗?好了,那大概思路有了以后呢,那接下来呢,咱们给它拆解一下我们的步骤哈。 好,我们过来看。首先呢,咱们还是把这个组件需要的静态模板给他准备一下,哎,包括我们这个地方呢,要用到一些图片的数据,哎,就这个 ur 列表。那准备好这个以后呢,我们开始呢去为我们小图绑定事件。 那鼠标移入的一个 zs 键有哪些啊?大家可以提前思考一下,移入哪个呢,就把它的下标值呢给它记录下来,咱把这个激活下标值记录一下。 再然后呢就是开始去做我们的效果了,通过下标切换我们的大图显示,哎,然后呢,还有一个通过下标实现我们的激活状态显示,这个什么意思啊?就是鼠标移到哪个上面来,哪个呢?你看就有一个 边框,这叫激活状态,哎,所以说呢,两个效果需要我们去做一下哈。好了,那咱呢把这个步骤呢给他盯一下,好,放过来,咱们就 把这个步骤呢去给他做一个实现好了,先回到我们的 cod 区域,咱们呢先给他准备我们第一步啊,准备一下我们的组件静态模板,好回到我们的 cod 区域, 那这个组件呢,我们把它称之为一个通用型组件,因为你会发现呢,这个放大镜呀,它是在很多地方是不是都可能会用到呀?哎,都可以用到,所以说呢,咱们呢给它放到我们的 components 里边这个位置呢,我说了它呢会放置一些跟业务呢非强关的通用型组件,对不对? 所以呢,我们把它放到这个里边来,那里边呢有一些模板呢默认东西,我们可以把它先删掉,好给它干掉。 删掉以后呢,咱们新增一个文件夹,哎,就叫它 image view, 好,首字母呢,大写 会翻一点,好,在里边呢,我们新增一个 index the view。 好,咱把这个模板呢给他放过来哈。模板呢已经给大家准备好了,咱们呢直接打开我们的配套文档过来拿就行。 好,打开我们配套文档,在图片预览组件封装里边有一个小图切换,大图显示在这个位置呢,有一个准备模板,我们可以复制一下这个模板。好,接着呢,我回来咱把它粘过来。 好,放过来之后呢,咱们先过来熟悉一下我们这个模板里边呢,都是哪块对应哪块哈, 在我们的脚本区域,我准备好了一个图片列表,五张图,咱有五个小图片,这个能理解哈。好,往下走,往下走呢,重点来到我们的模板区域,从左边和右边,我们刚才看那个图了,他是分成左 有两侧呀,左侧的是个大图在这里哎,然后呢,在我们这个位置呢,有一个小图列表,再往下呢,是一个放大镜的效果哎,是这样一个结构哈,对应着我们之前那个静态结构, 那里边呢,有一些默认的样式已经都写好了。交以后呢,咱们把这个组件呢给他预览一下,给大家看一下现在这个组件到底是一个什么样的效果,能理解哈。好,那接下来我们去做一下这个事,回到我们的目标位置,在 views 里边的 detail 里边,好,点到我们的 indested view, 点过来以后,咱把这个组件呢给他引入进来,使用起来呗,看看他到底现在是什么样子的。好,那咱把这个组件呢给他引入进来, 好,它叫做 image we, 是 等我们的 components 下面的我们的 interview 好导进来。导进来以后呢,在我们对应的位置把它渲染出来, 过来找找哈,这有一个图片预览区,看到了哈。来,过来把它呢粘过来,粘过来以后保存一下,打开我们现在的一个网站看看呢,他到底长什么样子,过来 大家看。左边呢,就是我们现在预览出来的样子,但是他现在什么效果都没有哈,只是一个纯静态的,能理解哈。哎,是这个样子的,左边呢是我们的大图, 右边呢是我们的小图, ok, 那到现在为止,咱的第一步是不是做完了呀?准备,我们的静态结构,包括我们的图片列表呢?都准备好了,看一下。我们第二步为小图呢,绑定事件,记录一下当前激活的下标值。哎,回到我们的 cos 区域,咱们去做一下这个事情。好,过来,咱们先做一下我们的第一功能,它呢叫做小图切换大图显示, 先去记录一下我们的下标值,那既然需要一个激活的下标值,那咱们给他声明一个响应式的比量 act u 引单 x, 我们来个 ref, 一开始激活呢是定零项,那咱们就给他一个零, ok 吧。好了, 好,那把我们的下标值呢写上以后呢,咱们开始去给它绑定实践,因为它是鼠标已入,是不?切换我们的下标值呀,那咱们找到我们的小图列表,给它绑定实践, 鼠标一入该用哪个时间呀? at 我们的 mouse enter 是不是它呀?好了,那咱 呢绑定一个回调哈,咱们叫它 enter handler, 好了,在上面呢,我们声明一下这个回调函数, ok, 就绑过来了。绑完了以后呢,咱们说了,目的呢,是为了拿到当前的一个下标值,那告诉我下标值在哪里啊? 哎,对了,是不是就是个 i 呀?那咱们是不是需要把这个参数给他传过去呀?哎,所以说呢,我们在这个地方呢,补充一下,把这个 i 呢给他往过一传,那这里是不是得接收呀?好,这里呢,我们也接收一个 i。 当拿到爱之后呢,我们的目的是把这个爱呢交给我们的 active index, 对不对?好,在这里呢,咱把这个赛标 标值给他记录一下,哎,等于我们这个 i 好了,这样我们的记录下标值是不是记录好了呀?好,咱们过来呢验证一下,看看是不是鼠标移到哪个角度身上去。他这个 x t o index their value 就等于几能理解吧。好,保存,我们过来呢测试啊, 那咱们给他检查一下,我现在呢想点开我的这个 view 调试工具看他一下, 好找一下我们这个组件, 哎,是它吧,现在这个 active 呢,是以一个 index 为一。好,我们鼠标移过来, 哎,是不是变成零了?移到第三个上面去看一下啊,移过来点一下,哎,是不是变成二了呀?你看是不是鼠标移到哪个身上去, act to index 记录下来的就是哪个的下标值呀。哎,那经过我们验证呢,发现他确实呢已经记录下来了, ok, 没有问题啊。好,那回到我们的 cos 区, 记录下来我们的下标值之后,接下来我们是不是可以做我们第三步了,哎,切换我们的大图显示呗。那找到我们的大图 左侧大图是不是在这里啊?这呢,我们写死了一个零,大家看他的数组下标取值,其实这个结构已经写好了,只不过这个地方呢,是一个死的,是个零。那告诉我怎么办呀? a, 是不是把这个死的零切换成我们这个 i active index 是不是就可以了?哎,我们过来呢,给它测试一下哈,把它翻过来替换一下我们的零,好,过来测试看行不行。鼠标移过来 a a, okay, 那咱们第一个功能 是不是就实现了通过下标切换大图,完事实现还有一个通过下标呢,实现我们的激活状态显示,这个什么意思呢?你看啊, 鼠标移过来再移走,这地方是不是丢了呀?哎,我期望呢是我移到第一个上面来,我再移走他还是一个激活的状态,对不对?那这个怎么做呢?来,回来我们再看一下哈, 我们过来看。那事实上呢,这个小丽标签他呢其实已经准备好了一个激活的状态样式啊,我们过来往下翻,看一下他的一个样式区域, 往下走哈,看这里,这其实有一个 active 类名,就说呢,只要他身上有 active 类名,他就会变成一个激活的状态,那所以说呢,我们的结构或者我们的思路就变成了,哎,通, 通过我们的下标值控制我们 active 类名是否显示,是不是这个道理啊?那告诉我如何控制一个类名是否显示呀?哎,咱学过有一个东西呢,叫做动态类名,控制好,咱们加上一个冒号, class 里面呢,咱们给它加上一个大括号, active, 这是我们要控制类名,那它的条件是啥呢? 那就是谁的下标值和当前激活的这个 index 相等,那他就应该被激活呗,对不对? 那这个小标志是谁啊?不就是我们的爱吗?好,这个地方呢,我们写一个爱爱,如果等于我们的 active index, 那他就应该被激活,是不是这个道理啊?哎,是不是可以把它作为一个条件呀?好,那咱们过来看看对不对哈?好,来到我们的 预览区域看哈,我们鼠标移过来第二个,走,你看,移过来走,你看到没有?移到哪个上面,哪个就是激活的状态,对不对?哎,好了,那这个小任务呢,咱们就算完成了,回来呢,咱们做一个简单的小结,好,先回到我们的 ppt 哈, 那咱们说了,要想实现一个通过小图切换大图的一个功能,我们首先得知道它的核心思路是什么,哎,无非呢就是维护一个激活的 index, 通过它呢去匹配是不就可以了?什么意思?你看哈, 我们鼠标移到哪个小图上? a, 它有一个对应的下标值,你通过这个下标值来这个输入列表里边呢,取到它对应的 url, 那显示到我们的左边是不是就可以了呀?诶,这是我们第一功能,是不是 就实现了呀?切换小图显示大图,那第二个呢,是通过我们的下标呢,实现我们的激活状态,这个呢,其实是一个通用的套路。 什么意思?你要做的是通过一个当前这个地方,哎,他便利时候的一个下标值,和咱这个激活是一个下标值呢,做一个比对,如果匹配上了,他就应该是一个激活状态,对不对?看一下我们的扣的哈, 来到我们的代码区,大家看这里, i 呢?是呢,我们通过 vivo 便利的时候,每一项它都有一个独一无二的下标值,对不对?那 active 呢,是当前应该激活的那个下标值,那这个时候如果他和这个 active index 呢,是匹配的,是相等的,那当前项是不是就应该, 哎,有这个 active 里面呀?哎,他就会有一个激活的样式了。好了,大家记住一个套路哈,这个地方有个套路, 在我们 type 切换类的应用里边,这个套路呢,非常非常常见,就是用当前项目的下标匹配这个激活下标。哎,好了,那这个小任务呢,咱们就先到这里,咱把这个代码呢给大家提交一下,好,过来。 好,这一小节呢,我们主要是完成了我们图片预览组件的第一个效果,图片预览组件 小图切换,大图显示。那下小节开始呢,咱们去做一下,我们,哎另外一个效果叫做放大镜效果,他呢就更有意思了。好,我们先停一下。

很多小伙伴至今还不知道这种能显示 iphone 信息的 x 面板组件是如何设置的,只需在这个 sv 应用里点击添加小组件,选择中号,就看到了这个最火的 x 面板小组件。左右滑动,选择个自己喜欢的款式,这里可以换成你喜欢的图片 背景,也可以自定义换成你喜欢的一样的文字颜色也是可以任你选择。点击保存,回到桌面,长按屏幕,点击左上角加号搜索与 选择 swing 应用,滑到中号,添加小组件,点击选取刚刚添加好的 x 面板组件,这样不就出来了吗?除了这 x 面板 下方的打卡组件跟宝马标志也是在 string 里用类似的方法添加的。这个打卡组件不仅能看到详细的打卡详情,还能设置打卡提醒,简直不要太好用!

好,接下来呢,我们先来看第一部分核心容器的功能,要说在 spring 的底层,那么它的重要的特性就是咱们这个 ioc 和 di, 也就说我们所谓的 控制反转和依赖注入,那么在 svr 认为所有的组件都应该放在我们的这个 lc 容器中, 然后呢,组件之间的关系通过容器来进行自动装配,也就是我们所说的这个依赖注入。那么呢,我们接下来就来看用纯注解的方式来完成我们这个啊容器的组件注册管理以及依赖注入功能。 我来创建一个门稳工程。好,这个门稳工程呢,国货 id, 我们点按特硅谷,那么我们是 spr, 我们先来体会 spr 的按钮推式注解开发。 那行,这个打包方式当然还是这个炸包点一个费零食, 我们把 spring 依赖的这些炸包儿倒进来。好, dependences, 我们来在 meng 的仓库里边找到 spring contest。 好,我们用它以四幺二版本为例,把它复制过来好保存。我们来看现在呢,导入 sprin 的 contest, aop, beings, call 啊, comments logan 啊, spa 依赖的 comments logan 以及这个 express, 那么这就是我们核心容器所依赖的所有环境。那么呢,如果是以前,我们应该在这儿写一个 spa 的配置文件角这儿, 比如鼻音,鼻音四点插面,在这个配置文件里边呢,我们来用这些鼻音标签来注册一些组件进来。哎,这是以前开发的方式,那现在呢,比如我们来写一个组件, 这个组件呢叫 com, 点按他硅谷 b, 我们都放在这,我们先写一个 pose 答案,这个里边呢,我们就来随便写两个属性,一个是 咱们这个内部啊,他的名字和一个年龄。你们推这 h 盖头塞头方法,把它写好。好,包括呢?图四准 坐。好,那为了方便期间呢,我把有餐无餐勾到器,我都写上,哎,我们先写一个有餐的,再来写一个无餐的。 好,这是一个 person, 那如果是以前,我们需要利用 beyond 标签的方式,哎,我们来写一个 class, 注册一个 person, 哎,注册一个 pose, 然后呢,可以给他一个 id, 方便我们从容器中进行获取。那 pose 里边呢,我们 可以用 partt 来进行属性复制,比如 h 年龄能给他复成十八,然后呢, provtten 能给他复制成张三。 好,这是我们以前的方式。写一个配置文件,那怎么用呢?好,我们来写一个 class, 我们来写一个主测试类 man test。 好,我们来写一个慢方法。 那么呢,如果是以前,我们需要这么来做,你有一个,哎,我们叫克拉斯 pass 插面,啊,不对,开身 contist 该生康泰斯,然后传入配置文件的位置,传入配置文件的位置,哎,这就在我们类路径下的他,哎,他意思是类路径下的一个插面配置文件,然后呢,会返回 lc 容器, 开身康泰色,我们就叫开身康泰色。那这个容器中呢,我们就会有一个 percent 组件,点盖他一,或者用 id, 用 id, 那么我们就直接写 pose, 或者用类型都行。好,我们先用 id 获取,然后呢,我把它打印出来, 因为它是一个 pose, 所以说我将它转换为 pose, 哎,没什么问题,好, 我们把这个枪转过来,我们来测试一下我们以前的方式走好,这个组件呢,在容器中没问题,那么我们现在要用注解式开发,那自然我们这个配置文件就不应该写,那么接下来怎么办呢?如果用注解式开发, 配置文件里边要注册鼻影等等东西,那么我们现在呢,有一种方式,哎,我们先来写一个,我们称为配置类, 这儿写一个 config 好,比如呢,我们就叫 man config, 和以前配置文件的方式被替换成了配置类,配置类就等同于以前的配置文件, 配置类,配置类就等于以前的配置文件,哎,只不过一个是扎代码的方式,一个是插面配置的方式。好,那么配置类写完以后呢,我们先用第一个注解叫安特 config ration, 告诉 spa, 这是一个配置类,好, 告诉 spring 这是一个配置,比如说呢,相当于说这是一个配置文件一样。那么接下来呢,我们注册组件怎么注册呢?我们以前写的是不是并标签啊? 好,我接下来呢,把这个配置类,哎,我写一个方法,我用这个方法呢,返回一个 pose 对象, 好,然后呢,我蕊 turn, 我返回一个六,一个 purse, 那么六的时候呢,我用它有三个早期哎,我变成李四和二十, 那么呢,以前用的是鼻影标签,那接下来有一个注解叫 om b 一,那跟鼻影标签是一模一样的,也就是说呢,哎,它的作用就是给容器中注册一个, 注册一个鼻影,那么要注册一个鼻影,我们以前用插麦配置的方式,鼻影有 id, 有类型,那现在呢,我们注册的这个鼻影,那么类型自然就是返回值的类型, 为返回值的类型,那么 id 呢? id 他默认是用方法名 作为 id。 好,我们这个注解我就写好了。那注解怎么用这种方式?我们来到我们这个主测试里边,那这种方式我们就不用了,这是配置的方式。 好,我来写一写一下。那么接下来呢,有一个新的类叫额脑推伸,额脑推伸 come figue 恶婆里开始 conces, 哎,大家看,这叫注解式的,咱们这个 啊,我们这个,呃,不离开身康康泰斯,他这要求传一个类型,这类型呢,就是我们当才的这个配置类。 第二克拉斯,哎,你看,我们以前是传配置文件的位置,现在呢,现在是传配置类的位置。好,我把它返回过来 好,还是返回一个 opply 开身 contist 的 lc 容器好,我可以把前边的关掉。那么呢,我们用它,我来获取 oppoly 开身 contist 第二盖,他 一,我来获取,我呢,现在先用类型获取来获取 pose 点儿 class, 我们先看能不能获取到,我来输出一下。 那么大家注意,我们现在这个配置文件是不是就没啥用了,哎,我们把这个就已经关掉了,也没有加载它,我们来运行走,哎,我们可以看到从容器中呢 拿到了一个礼四,二十,这个呢就是我们在这用方法返回的这个礼四,哎,我们用按特拼注解来给他注册到了容器中,哎,一模一样的。那么这个 id 是什么呢?哎,我们可以这么来用一下, 我,额普利开声 condice 第二盖,他有一个方法叫鼻音 defination nemes, 看一下鼻音的这些定义信息, 或者呢,这有一个 get 冰 nims 佛太按,直接按照类型找到这些冰的名儿,那我们就来看一下托儿斯这个类型的组件儿在 lc 容器中的名字是什么? 好,我来扁你,答应一下, 咱们这个名字就叫奈姆, 好,我们来测试走,哎,我们看到他是不是叫 post 啊?哎,没问题,那我想要给他改名,怎么改啊?那第一种方式,哎,我们来到我们这个配置里边,我们说方法名是不是作为 id 啊?好,我先写一个他, 我们来再来测试走,哎,你看,确实 id 变成零一了,那么呢,我们不想让他变零一,哎,我也不想通过改方法名的方式,哎,我给他改 id, 那么我们直接可以给这个艾特兵注解, 哎,那么这个注解上呢,能写我们很多的纸。第一个歪六,哎,歪六呢,就是指定我们这个 名字,哎,我们就来把这个 y 六来指定上,好,我现在呢给他指定就叫 pose, 虽然方法名叫 pose 零一,但是我呢我们给他指定一个名字叫 pose, 那现在容器中就应该是 pose 组建, 哎,没问题,这就是我们第一步,先用按特 b 音来为容器中注册一个组件。

好,那么我们刚才是学习完了咱们这个 uni apple 中这个组件的创建和这个组件的这个生命周期函数啊。 那么这个学完之后,我们接下来再来学习一下咱们这个用这 app 中这个组件的这个通信,咱们把常用的三种方式去学习一下啊,父相子、子相父,还有兄弟组件。 那咱们接下来就先来学习一下这个负给子组件传直怎么来传啊?那负给子组件传直来看,传的时候咱们就通过属性绑定的形式进行传递,而接收的时候咱们通过 pops 来接收即可啊, 行,那么我们把这个方式去演示一下啊。现在我们副组件有一个太多的一个数据,我希望把这个数据传递给组组件,那就可以在这个上面 绑定一个属性,这个属性你可以随便写啊。当然了,咱们为了规范也叫抬头而值,你是不是就不能随便写了呀?是不是就是这个抬头呀?但是要注意,你能直接把这个抬头写在这吗?要是直接把抬头放在这个的话,那里他这个里边的值是不是就会被解析成一个普通的字符串呀?他不会被解析成一个这个数据吧? 如果想让他的这个属性的值解析成一个表达式,那咱们就得利用 v 杠半的简写,就是冒号是不就 ok 了呀?对吧? 那么我们在词组件就可以通过 purpose 来接收, purpose 写个数组,那数组里边的每一项也就是咱们要接受的这个数据,比如说我现在要接受咱们这个 title, 那在这个里边就写一个 title 即可啊, 那么我们再把这个 title 展示到咱们这个页面上啊,写一个,这是这是 副组件传递过来的数据, ok, 然后在这块直接把开头往这一放即可。好,那么我们在这保存一下,然后求刷新一下来看,那这样的话来看,副组件传递过来的数据是不是就传过来了?那小程序肯定也没问题啊。 啦啦啦,小程序这块有一个错,你看数据是传递过来啦,他这块爆了一个 get element byd 的错误,那么这个错误是因为我们之前在演示这个生命周期的时候,咱们用了这个 这个这个 document 的这个点 get l m 的白 a d 啊,这个东西咱们说了只能在咱们 h 五中是支持的啊,在小程序和 app 中是不支持的啊,包括咱们这个定时器也先给他注视掉啊,因为咱们暂时是用不到的啊, 好,保存,那这样的话咱们这个副向子传直就搞定了,那咱们接下来再来学习一下,如 和实现子向父传旨。你比如说来看我们这个子子教是不是定义了一个 number 三呀?那么我这一节就应该把子子教的这个数据传递到咱们父子教中啊,那么这块咱们主要是通过咱们这个触发自定义事件的方式啊。 好,那么我们怎么去触发呀?就可以通过咱们一个叫做刀了 amit 这个方式去触发一个事件,并且把咱们这个值传递过去即发。那么我们先在这个子组线定一个, 定一个按钮,然后这个按钮咱们就叫给副组件传直,传直。 ok, 那么咱们既然有了按钮,咱们就应该给他定一个实现啊,点击实现,然后咱们就叫散的 number, 对吧?发送咱们这个 number, 然后我们再把这个散的 number 在 matters 里面去定义一下啊,现在还没有 matters, 那么我们自己写一个 me t s o d s matters, 然后我们在 matters 里边去定一下这个三的 number。 这个方法, 那我们就先 ctrl log 简单打印一下啊,就是给父亲传职,好保存,咱们接下来看一下,当我们点击此组件的这个按钮,你会不会触发这个事件啊?我点击走你,那么你看这个报错了, send number is not defined, 那也就说白了咱们是没保存吗? 卖四十次,然后 send number 保存一下,然后咱们这块 send number 这个名字没有写错吧?保存好咱们再来重新刷新一下啊。稍等啊,那么我们再来测试一下给父亲传职。走进来看,那这回我一点击, 那么是不是就触发了给这个父亲传职,咱们这个触发了这个事件函数呀?那在这个事件函数里边我们要做什么呀?是不就是将子组件的这个 number 传递到副组件呀,对吧?你看怎么去传啊?那这么咱们主要利用一个 z 点到了 amit emit 这个方法,那这个方法的第一个参数就是去触发一个自定义事件,咱们这个自定义事件也叫做 mieen, 那么对应的你还可以传一个值呀,那么我们想传谁是不就是要传这个 number 呀?所以说咱们就把 this 点 number 传过去就 ok 啊。第二个参数就是也就是我们要传递的数据了啊。 行,那现在我们要触发这个自定义事件,是不是还没有这个自定义事件呀,对吧?所以说来看,那这个自定义事件我们需要定义在哪啊?我们需要定义在使用这个组件的这个位置,在这块咱们通过艾特去注 注册一个麦一问,咱们这个自定义事件对应咱们这个麦一问,你肯定得给他一个事件数吧,对吧?那咱们就给他一个来看这个事件数,叫 get number 这个方法,然后我们把 get number 在 matters 里边去定义一下。 好,那这样的话来看啊,当我们一旦点击此组件的按钮看着啊,我点击此组件这个按钮是不会触发这个, 那么呀,然后在这个里边,咱们又利用这次到了 invent, 是不是触发 my even 的这个事件了呀,这样的话 my even 的这个事件也就触发了。然 买衣服的时间出发 get number 是不是也就随机被调用了啊?调用的时候来看,咱们这块还传过了一个这个认识的 number, 那你就可以在这一块通过行参来接收即可啊。好,我们在这 ctrl log 打印一下这个 number 啊,包 保存,保存完成之后,我们在这刷新一下啊,看,那给附近传值,走,你来看那副组件是不是就拿到了这个三呀?你看 index 的表演,这是副组件吧,哎,拿到了这个值啊,当然了,那你也可以把这个值保存一下,对不对?你看呢?我们在这个里面定一个 number, 默认是零, 然后我们把这个 number 显示到这块啊,前面写一个来看啊,这是子组件传递过来的数据,然后这边写一个 number 啊, 行,那么我们这样的话,是不是就把这个行餐交给咱们这个 number 是不是就 ok 了?那么我们就在这块怎么去写啊?就 this, 稍等啊,来,那就在这个里面通过 this 点 number 等于传递过来的这个速度点传递过来的 number 即可啊,好,我们在这来测 测试一下,默认咱们这个数学是零,我一点击给副组件穿值,走,你来看,那是不是就把值传递到副组件上面来了呀?传递过来了啊?行,那这个也就是咱们子组件穿值和这个副组件穿值啊。那学完这个之后,咱们再来学习一下咱们这个兄弟组件穿值啊, 什么意思?看着啊,那这个我们就得再去新建一个组件啦,我们在这块再来新建一个组件,然后这个组件就叫 a, 是吧?咱们创建一个 a 组件, 然后咱们在这边再来新建一个组件,再创建一个 b 这个组件啊,创建好,那么这样的话,咱们这个 ab 这两个组件是不是就创建好了呀?创建好了吧, 那我们创建好了之后来看啊,我们 a 组件来做什么啊? a 组件咱们就给他定一个八三按钮,那这个按钮里边咱们就来看啊,就来一个 按钮,修改 b 组件的数据, ok, 咱们保存那 b 组件里边就非常简单,就定了一个 number, 对吧?然后这个默认值是零,然后我们把这个 number 这个数据去给他展示一下啊,你看 这是 b 组件,这是 b 组件的数据,行,那这样吧,咱们这两个组件是不是定义好了呀?定义好了之后,然后我们把这个 ab 这个组件在我们引带词中导入一下啊,那来看,咱们直接把这个复制一下就可以就行啊, ctrl c, 然后 ctrl v, ctrl v。 行,那这个咱们就叫 test a 吧,来,这个就叫 test, 这个就得来看,引入你还是得 a 点 v v r, 咱们名字叫做 test a, test a。 好,然后咱们这个就是 test b, 同样的,这个也是咱们 b 组弦, 那么咱们再把这个 test a 和这个 test b 再给他绑定一下啊,注册一下,那么咱们在这块写一下 test a, 咱们就 test 杠 a, 名字就叫这个啊,那最终是不是要显示咱们这个 test a 这个组件呀,对吧?同样,咱们再注册一个 test 杠 b 这个组件, 那他显示的就是咱们 test b 这个主角啊。行,那这样的话,咱们把这个 test 杠 a 和 test 杠 b 在在这个里面去使用一下啊。 好的,那么这个是我们 test a 组件,然后再来一个 b 组件,对吧?把这个 a 改成 b, 把这个也给他改成。 br 好,保存,保存完成之后,咱们来看一下这两个组件有没有出来啊,小心一下啊, 来那里看,我点击这个按钮,这个按钮是不是属于 a 组件的啊?修改 b 组件的数据,然后这个是 b 组件吧,这是 b 组件的数据,咱们这样啊,看啊,我在 a 组件里哈,这是, 这是 a 组件,这是 a 组件,对吧?好,那这样呢,咱们就比较清晰了啊,你看咱们,你看这是 a 组件,然后这个修改 b 组件的数据,然后这是 b 组件他这个中的数据啊,行,那问题来了呀, 我怎么点击这个按钮去修改这个 b 组件里面的数据啊,对吧?那这块来看啊,这样的话来看,咱们该怎么去实现啊?咱们也是一样,主要利用咱们这个 dollar in max 啊,除了刀一刀了,因为了还有一个什么东西啊?还有一个这个刀了啊,咱们可以看一下咱们这个哎,咱们可以看一下咱们这个他的这个这个官网啊,他这个官网这块有 有一个这个页面通信,咱们看一下啊,说答案,这个是在什么地方呢?咱们找到这个框架,在框架里面应该有一个页面通信,那这个页面通信来看啊,可以通过 u 类的 dollar inmate, 是不是可以通过 ully 的 dollar inmate 去触发全局的一个自定义事件啊? 可以通过用内胆刀了啊,去注册一个这个监听全局的一个自定义事件,也就说白了,咱们可以通过用内胆刀了啊,去注册一个全局的事件,然后通过用内胆刀了,因为了去触发这个全局的事件啊, 行,那么咱们来看该怎么去实现啊?那么我们应该能够知道,我们想修改这个 b 组件的数据,那方法我们是不是肯定得定义在这个里面呀?对吧?在这个里边咱们就可以定一个方法,那么这个方法是不是用来修改咱们这个 b 组件的数据啊?对吧?那怎么来定义这个方法呀?直接直接通过 s s 去定义吗? mass 去定义,那么我从 a 组件是不是就没办法去触发它了呀?那么怎么办?我们可以这样,还记不记得咱们这个 creat 的这个生命周期函数呀?是不就是我们这个页面一进来, 我们这个组件被这个初始化创建完成之后,是不是就会触发这个触发咱们这个 creat 的量,对吧?那在 creat 的里边,咱们就可以通过由内为全局 偷通过刀了啊,去注册一个选举事件,那这个事件咱们就叫 up, 对的, up, 然后这个叫更新 number, 更新 number 啊,啊,对应的你是不是得有一个事件函数呀?对吧?那咱们这边就写一个选择函数,那在这样的话,咱们就可以就说白了,有人触发这个事件,那么咱们对应的事件函数就来修改咱们这个 number 这个值就可以啊,那 这个里边咱们就可以通过这一次点 number 让他加,那加等于到底加多少呀?对不对?那你看啊,咱们你在触发这个事件的时候,你是可以给我传递一些数据的啊,那咱们就可以通过这个回调函数来接收一下, 那么通过 number 来接收,那就可以 this number 加等于 number 是不是就 ok 了?也就说白了,你给我传多少,那么我就给这个 number 加多少就 ok 啦。 行,这样的话咱们这个全局的这个事件就注册成功了,那在 a 组列怎么去出发呀?非常简单看啊,咱们首先也是给他注册一个克里一个事件,然后克里一个事件,咱们这个就叫爱的 number, 爱的 number 啊, 爱的 number, 那对应的咱们再去定一个这个时间数啊,在爱的 number 里边,在我们这个 a 字件里边, 通过 m, e, t 手电 s, my search 去绑定一个咱们爱的 number 这个事件函数,那在这个事件函数里边,我是不是就其实说白了想去调用咱们这个去触发这个事件,是不是就 ok 了呀? 是不是,对吧?所以说那么我们就可以通过 this, 这不能通过 this 啦,而是什么呀?全局的是不是通过 uni 点儿导入了引灭他, 然后触发这个事件,是哪个事件呀?是不是就是这个啊? what? day number 啊?对吧?咱们就去触发这个事件,那我们还可以传一个值,对吧?咱们比如传一个十,那最终这个十会传给谁啊?就会传给这个 number, 这样的话我点击一次这个 number 就会加十了啊。 好,我们在这保存,保存完成之后咱们在这来测试一下啊。回到这个代码里边刷新一下,看到我点击修改 b 主角的数据,走,你来看,我一点击 b 主角的数据是不就 发生变化了?你看是不是完成了这个修改了呀?这样的话咱们也就实现了咱们这个兄弟组件这种组件之间的这个通信案啊。这个其实咱们主要是借助了咱们这个优利的到了,因为呢去触发一个全局的这个事件,然后咱们在另一个组件再通过这个优利的到了啊,去注册一个这个全局的这个事件即可啊。 行,那这个也就是我们这个组件之间的这个通信的几种方式啊。 ok, 那这个我们也就搞定了啊。

大家好,我是超神,近期有许多车友私信我如何添加小组件,我再出一期截图的教程,教会你们怎么操作。

客户流失率高,转化低,只会抱怨没有流量,没有咨询可不行。快来看看你的商家主页是否设置过关,能否帮你留住用户? 注意了,商家主页支持配置商家模板,功能多多,好处多多。具体有,官网主页,通过配置官网主页,向客户展示企业品牌、产品信息。店铺活动,可以向意向客户展示店内的促销活动,收集客户留资信息等。在线预定,帮助企业收集意向客户电话留资信息,助力企业转化客户 优惠券,展示企业的优惠信息,引导用户线上领取优惠券后促进交易转化。另外,商家还可以在主页配置线下门店地址,方便用户快速导航到店等等。这么实用的营销组建你都有吗?快来点赞加关注!