大家好,欢迎来到本期框架速通,今天用三分钟带你吃透 v 幺三和 reactor 的 项目进阶必学!核心知识点,直接上手开发,不踩坑!按照知识点模块分为五大核心部分,一、组建 props imit 二、 reactive 双向绑定。 三、生命周期四、路游基础五、 piya 状态管理。首先来看组建 props emit, 这是框架组建化的基础 view 三里组建就是独立的 ua 文件,通过 import 引入注册使用 props 用来赋传子子组建 define, props 接收数据, 子传父则用 define imit 自定义事件触发。 react 中组建分函数组建和类组建。 props 同样是负向子传餐,只读不可修改,子传父靠负组建传回跳函数子组建调用实现通信,两者核心都是组建 通讯,记住父传子 prop, 子传父事件触发即可。接下来是响应式,核心于双向绑定 v 幺三用 r 定义基本数据类型, reactive 定义引用数据类型,模板里直接用修改值, ref 要加 value。 双向绑定靠 vmodel 一 行代码实现数据和试 图同步开发表单超方便。 react 没有自带双向绑定,靠 u state 定义响应式数据,通过 unchange 事件监听输入手动更新 state, 实现 数据和视频的单向流转,本质都是监听数据变化驱动试图更新。然后是生命周期把控组建执行时机。 v i 三组合式 ip i 常用 unmounted 挂载来成 unmounted 销毁清除定时 器,还有 on before update un updated 监听试图更新覆盖组建,从创建到销毁全流程。 react 函数组建用 hook use effect 替代生命周期公依赖树组,对应 amount of 依赖向变化触发更新 return, 清理函数,对应 amount of 简化生命周期逻辑。再讲路由基础,实现页面跳转。 view 三,用 view router 创建路由实力配置 path 和 component, 通过 root view 渲染页面 root link 跳转或编程式导航库 react 用 react router 配置 root root 绑定路径和主键 link 标签或 use navigate 钩子实现页面切换。核心都是路径匹配主键实现单页面应用跳转。 最后是状态管理, piya v i 三项目必备。 piya 替代 v x 写法更简单, theme store 分 state actions gatters 组建,直接引入调用,无需 mutation, 支持模块化响应式更直观。跨组建共享数据大局,状态管理一把抓,是 v 幺三项目进阶必用工具。 以上就是 v 三 react 项目开发核心知识点,吃透这些,快速上手,项目进阶提升完全没问题。关注我,下期带你实战落地这些知识点!
粉丝25获赞174

他又给我们说了,官方又给我们说了, wave 是 一个特殊的啊元素啊,属性,和 v 杠一 for 章节中提到的 k 是 非常相似的啊, k 也是一个属性,对吧?它允许我们在特定一个当母元素或子组建实力被挂载后,看到的是挂载后 获取对他的直接引用,这可能很有用啊,比如说在祖先挂载时,我们获取这个焦点,我们是不是刚实现了?还有一个元素在最初始的一个第三方库里面去实现了,所以说现在有一个案例叫做 一叉子啊,一叉子的使用,这个我相信大家应该是很有用的,在我们啊数据啊,比如说你要做一个啊,我这里面有一些一个例子, 好像是在我,我复制一个,我之前讲了一个一个某这样一个数据面板,好像是在这个时讯里面了啊,数据可视化大屏 啊,这个是我啊,针对于我们啊,二三级啊,这个去讲的一个时讯,对吧? 这样这样一个格式化大屏,在我们啊公司啊,就是尤尤其是一些很知名的公司,他要做一个公司文化墙, 他会啊,就实时的给我们显示一个格式化大屏啊,公司的员工多少,然后数据多少,这个格式化大屏的话,就可以很容易去展现 公司的一些实力啊,或者是一些企业政府部门,它底下会展示它的一些数据,对吧?那像这种数据的话,都会用这一个我们这个格式化的 excel 去处理 啊,那我们这个怎么去处理呢?其实我们这里面要学到一个 excel 啊,这使用 excel 你 可以直接访问这个官网,这个官网的话啊,这个 excel 是 阿帕奇啊,这里面去研发出来的啊,也是基于 java 和开源格式化图标, 我们可以去查看一些视力,这些视力有很多的图表,比如说折线图、柱状图、饼图,散点图、地理图, k 线图啊,雷达图啊,各种各样的一个图。那这个东西的话怎么去引路呢?其实很简单,你不要想的太复杂了,对吧?假如说我们今天要实现一个柱状图, 那怎么办呢?点击这个柱状图,那左边是代码,右边是势力,左边的是什么配置啊?这里面它还紧跟时代了,一个是 g s, 一个是 t s 语法,一个是 g s 语法,对吧?那这里面啊,它是这个是配置啊,还有一个完整的代码,是我们这样一个, 其实它主要用于我们 g s, 所以 说你在 g s 引路就直接复制,当然我们今天讲的是什么 view, 所以 说我们要做一些改变,那怎么改变呢?首先啊,点击代码编辑,首先你要对这个配置要有一定的了解 啊,为了,为了就是加深印象,我直接把这个课间里面写了注示,我给我们复制一下, 大家看一下,第一个是什么呢?其实里面有很多,你可以去读一下官方的文档使用手册,它会告诉你 x x a x i y a x x 有 什么东西,你可以去读一下人人家写的使用手册或 api, 那 这里面我为了节省时间,我就不使用,不给大家去看了,因为这里面有很详细的啊,说明会告诉你这些变量是什么意思,拿来看一下配置的话,第一个 x x 是 什么意思呢? x 轴的配置 啊,比如说我们这里面啊,我们小学啊,学校数据统计,对吧?这个是 y 轴啊,这个呢是 x 轴, x 轴里面啊,它就是 x 轴的配置, x 轴配置的话,里面有两个 type 是 类型类目轴 啊,类目啊,有一个啊,星期一、星期二、星期三类目吧,然后里面的数据是什么类目轴的数据啊?这是 um 的 呀, q 的 呀,这样一个,当你可以写个中文啊,这是代表它的一个什么数据轴的名称啊,这是 x 的 配置。 那还有一个 y 轴的配置啊, y 轴 y 轴就上面上面这一个,这个有一个,你直接写个 type 为数值轴就可以了,它会根据它的什么啊?最高值为两百,它最高值是什么?两百啊,以及最低值,从啊零到两百去划分一个不同的等级 啊,比如说它是以五十为不成的这样一个等级,你直接配置为 type 为 y 六值就可以了啊,其他的不用管。那最后一个是 service, service 是 一个数据的配置 啊,配置里面它是一个对象的形式,看到吧接受的配置。然后第一个 tab 为图标类型,看到吧,这个是图标类型,如果说是一个折线类型的话是 nine l i n e nine, 如果说是丙图的话是好像是 tab p i e 啊,这里面可以去看一下它的视力的。然后还有一个最后一个是 data, data 就是 我们每一个类目最 x 轴的类目所对应的数值数据 啊,一定要,如果说这里面数数数组啊,有一二三四五六七,有七个内幕,那你底下这个数据一定是七个数据,要一一对应啊,比如说星期一是一百二,星期二是两百,星期三是一百五是一,一对应 啊,这是我们这个配置,那了解了配置以后,我们怎么去进行?在页面上显示了, 来看一下。首先这是一个我们直接复制吧,在这一个今天的这一个项目里面, ctrl c, ctrl v, 我 们直接啊给它一个变量 v, 啊,这个今天是什么?这个是啊, nice to tick。 n e x t t i c k 对 吧?和啊,和什么? if 的 一个知识点吧? if 啊,然后呢?在 app 点 view 里面,我们直接把这些代码给删除,那这个也删除,那怎么办呢? 那怎么办呢?首先看一下我们这一个不要讲话了思路, 第一个要干嘛?下载依赖,因为我们这一个图标并不是无缘无故在这个是另一个,这个一叉是一个什么?人家说了是什么?基于 java 的 开源格式化表库,这是一个库, 六里面跟六没有关系,所以说我们要进行下载它的依赖库,那下载依赖库的话是要什么? p n t m i。 看一叉, 所以说我们这里面找到我们这个今天的一个项目名,点击是不是在这个黑框里面 c m d 啊?去下载对应的依赖包,这是第一步。 p n t m i 干嘛? e x e c h a r t s 一定要名称,不要写错了,名称不要写错了,然后回车, 然后回车,他下完了依赖以后,你要去检查,怎么检查呢?其实很容易,你去看一下 node 模型里面有没有这个一叉子这个依赖包,有的话那就不用着急了,对吧?那下载完了以后,我们要去导入我们一叉子,你下载完了以后当然要导入吧, input 啊,去导入我们这一个 一叉子依赖,但是导入的时候并不是我们这样写啊,我们要去官网上,他是怎么导入的呢?刚刚说了有一个完整代码,看到没有, 它是这样导入的, input 信号 as each as from each as 是 什么意思?就把这个全量啊,这个导入就信号是我信号在计算机里面啊,是认为全部, 当我们学数据库的时候。 select 什么? s, e, l, e, c, t 吧, select 新 from 啊,什么?这个表明吧,对吧?其实就是查询这个表的所有 东西了,那我们这里面也是一样,把所有东西作为一叉子这个变量进行导入啊,我们来看一下,是 input 信号,然后呢? s, 然后是一叉子,然后否了,从哪一个库啊?这个库的名称必须和我们 这里面 note 没有 modules 这个名称一致啊,如果说你导错了,它是不会进行相应的这一个啊啊,导导入的,对吧?所以说是 e c 啊, h a r t s 啊,这是我们导入依赖第二步。那现在是我们要声明这个动物元素吧,现在如果说你要在网就是网页上显示的话,你必须是一个盒子吧,所以说是我们定义盒子,就是我们显示盒子, 那怎么显示啊?我们可以用 diy 来表示啊, diy 来表示,那为了这个 diy 表示,就是有这样一个显示的话,我们可以写一个 class 啊,给他一个修饰,比如说这个就叫 boss, 然后我们在底下写一个 boss 点 box, 那 宽度我们打算给它一千 p x 啊,或者六百都可以。高度呢,我们打算给它啊,四百 p x, 那 为了显示在页面上有这种效果,我们可以给它拨的 b o r d 啊, e p x, 所以 的,然后红色 看啊,在在页面上是能显示出来这这样一个表格形式吧,对不对?这样一个空啊这个盒子,那现在我们怎么去引入我们这个图标呢?来看一下,在这里面还记得吧?我们要再声明一个,要获取这个代码, 你不获取你怎么办?当然你可以用原声的,那就是我们这个 vivo 里面,我们我们有就是 vivo 团队,那他给我们有这样一个知识点,我们就尽量不要用原声的, 对吧?但我们刚说了用 viv 这个属性就可以了吧,所以说在这里面去用这个 viv 属性,但这个 viv 属性的这个变量在哪里?所以说我们要在上面去声明一个,我们第一步去声明一个什么 com 变量。 那 cos 的 什么呢?我们为了啊显示,我就写一个叉叉 s, 什么 viv 等于 i f, 那 那我上面声明了,是不是有一个叉四位符直接放在这里面呢?就可以了,这个是我们获取当,这是第二步,第二步干嘛?获取当对象, 那第三步是什么?第三步什么?配置图标信息吧,是不是配置图标信息? 那配置图标信息就不用你自己配置了,你在这个官网上啊去进行配置,假如说我这个配置就已经配置成功了吧?你把这个配置啊,就在这个代码编辑这里把这个配置 放放过来复制一下啊,你可以全部复制都行复制啊,比如说复制,你就刚刚去那个复制了,对吧?然后呢?放到这来, 当然这个复制肯定错了,为什么呢?你没有这个 oppo 炫,你定义了吗?没有定义吧,所以说我们在这个奈特,在这里面奈特或者说 cos 的 也行。你要去声明一个变量,这个变量声明 这是第三步啊,配置图标信息当我这里面啊,这个第五步我们刚刚是获取了的渲染,我们第五步渲染第六步,也就是说我们这个第四步。第四步干嘛?初始化?初始化什么? e x 吧。 那怎么去出式化呢?再来回来看这个完整代码,看到没有?在这个原声写法里面它也是一样。第一步要干嘛? 获取到某,看吧,是不是有一个获取到某,然后呢?出式化,出式化它怎么出式化? each? 点 innit 啊,这个 each 是 什么?就是我们这个上面导入这个 each 吧,点 innit 啊,然后呢?括号里面是什么? 叉?叉的动,是我们用原声的方法去获取的叉的动啊,所以说这里面也是一样。我们去初识化。怎么去初识化?我们刚刚是不是声明了一个 each? 是 不是点 in link? 把这个我们刚刚写的声明这个当面料放过来?这个就是出使啊。但是根据我们官方写的这一个案例来说,我们是不是要啊把这个值获取赋值啊?所以说这里面也是一样啊, let 一个 my charts, 对 啊,这是给它负出使值。最后一步干嘛呢? 最后一步干嘛?将配置图标信息设置在初步化的一串 sum 上,也就是说我们刚刚是不是初步化了这样一个东西?我们要把初步化这个这个东西配置到我们刚刚啊,也就是说我们刚刚这个什么 这个配置读报表信息啊,配置到这个初步化这个里面,那怎么办呢?这是第五步,就是将 配置图标信息要设置在什么抽象的动物元素上。 那怎么办呢?看一下官网,是不是有一个 my chat 点 set option 啊,注意这里面 my chat 点 set option, 就这一个方法对不对?我们学人家的酷啊,要抓重点,是不是?是不是 my 什么 chart chart 啊?是 my chart, 是 不是点 set option 那 里面放什么呢?就是放我们刚刚的配置项 option, 那 看一下有没有成功呢? 有没有成功?来看一下,我们直接复制 ctrl c ctrl v 保存刷新,哎,没了,甚至我们这个什么红色的框都没了,那说明有错了,那右键检查 来看一下,他很明显的报错了,是不是说的是什么? get content is not of action, 所以 说为什么呢?我们我们来一起给他解释一下,就是说我们刚刚这个负值啊,这个东西啊,还是一样,你没有使用这一个什么 nice tick 去进行下一步的更新,也就是说你把这些东西复制都放到这个页面去显示吧,我们这一个盒子都没有渲染完成,你怎么去放? 对啊,没有渲染完成,你怎么去放?放,把这个数据放到放进去啊,所以说还是一样,我们要在上面去定义一个 nice tick, 然后呢?在这里面啊,写一个 nice tick 干嘛 啊?首先它是一个回调函数,所以说是小括号箭头加一个大括号,把我们第四步第五步放进去, 那保存刷新啊,依然是错误了啊,说的是什么意思啊?来看一下 this domget is done fashion 啊,也是一样,那说明还是有错吧,那什么错呢?来看一下 my chess 等于点三 option, 然后把这个 option 啊放进来啊,这应该是没有错的,为什么错了呢?来看一下我们这个课间啊,课间里面它是怎么写的? 课间里面也是一样啊,这个是这样一个写法啊,知道为什么吗?叉 s 什么 with, 它是一个 with 响应式变量吧, 所以说只点 y 六啊,我们这里面我也出错了,现在这一个是没有问题的,看到没有是没有问题的啊,所以说我们这里面啊要把这个引流的话,其实你要把这个思路啊点完成啊,就差不多。 那剩下的时间自己去把这个图表啊去进行回顾一下,然后我们今天的作业是通过这个图表完成这个图表啊,渲染完成, 然后这里我们给他六百吧,六百的话合适一点啊,六百的话再刷新。为什么你看我改了六百他以后他还是这个样子,是因为我们这个已经渲染完成了,他这个宽度就是这么宽,你要下一次看到吧。 let's take 是 什么意思?下一次? 下一次什么?动不动更新才是执行吧,是不是?他是 gs 代码, 所以说当我们改完了这个六百,他不会更新,当我们刷新以后他会才会更新, 对不对?这个是我们这一个一册图表的应用啊,如果说不知道的可以看一下我们的个课间啊,课间也写的写的很详细,主要是什么呢?思路我们要打开,如果没有思路的话,你做什么东西都不会啊。这个啊,完成的一个很好 啊,这也是我们这样一个啊,这样一个图标啊,剩下时间自己去完成一下我们这个图标啊。

通过一个案例来把它熟悉一下,就是轮播图,这个轮播图的话啊,就是 其实你看一下它的实现思路,以及我们这一个啊,这个这个这个效果图就知道这是一个很平常的一个轮播图啊。那如果说你用这个 gs 原声写法去写的话,要写很多东西,第一个你,你要动它的啊,你要获取它的图片的什么 图片的对象,你还要获取这个左右的什么对象啊?然后呢通过这个左跟右这个按钮相当于是一个按钮,对吧?监听, 然后呢去动态改变他的这个图像的这个 s r c, 这是一个,虽然说这一个听起来啊,这个简单,但是你获取的代码可能有个二十行左右啊,应该是要的,是吧?那我们这个如果说运用这个 view 去写的话,其实啊,这个 我不到五行,不到五行其实就可以啊,搞定,那怎么去写啊?自己可以啊,剩下时间可以完成一下。首先我们肯定是要搭建这个布局吧,这个布局怎么搭建? 这就不用我去啊,说了吧,这个布局很简单吧,是不是?这个布局的话,首先啊你要创建这一个盒子, 对啊,这个盒子里面把这个什么图片给创建好, 图片创建好了以后,这两个按钮组为什么可以在这个图片上?要用到哪一个属性啊?就是这个子绝父乡啊,就是父是哪一个?是这个吧?啊?这个大的盒子 副要相对定位子呢?绝对定位,那就可以覆盖在我们这个图片上,对吧?这是一个很简单的一个 html css 的 一个内容啊,可以自己去把它写一下,那现在我们一起来看一下,我就写在下面啊, 这里是轮播图,我们可以写个 he, 或者说等一下直接直接这样写也行,对吧?首先啊,完成一下这个布局,这个布局的话其实很简单,对吧?首先啊,这一个盒子 啊,这个盒子我们可以给他一个名字啊,点 s w i p e 杠 b o s 啊,这个不要点啊,对不对?那这个盒子里面 啊,为了展示它的一个效果,我们给他一个宽度,宽度的话,我们我看一下课间里面 给了多少宽度六百,高度三百,那我们也给他宽度为六百 p x, 然后高度呢也三百 p x, 那 为了因,因为你定义了这一个宽度跟高度的话,是啊,也是显示不了,你可以给他一个就是横线啊,相当于是一个啊轮廓图的,就是可以显示出来啊,是这样一个效果。 那现在我们怎么办呢?我们刚说了,就是里面大的盒子里面要有一张图片的图片,我们可以直接写 img, 那 图片的资源我们先用啊,另一个静态的图片就行了, 等一下再来改个动态的,对吧?就是把它放在这里面,那你会发现啊,我们定义了这个盒子,不足以,知道吧?支撑这个图片吧, 那我们怎么办呢?把这个图片限制住,那限制住的话,我们要给他一个样式吧,就是这个 img, 要是在这个 swapper box 里面,我们就直接这样写,点 swapper box 里面的 img, 给它限制大小 啊,宽度百分之百,高度呢也百分之百,这个是什么意思?就可以限制了吧,这个就是宽度,当你的副盒子宽度高度已经定死了, 你这个图片的高度跟宽度,你百分之百,百分之百是相对档位,他相对于我们负容器,你负容器最大啊,最宽六百,最高也就三百,所以说已经定死了,就相当于我们这间教室啊,高度可能也就啊 最高三米啊,两米多或者三米,对吧?然后宽度的话也就这么这么宽,你如果说啊,你想啊,相当于是我们孙悟空的一个金箍棒一样的,他最高也就高到我们这个什么房子的这个高度,顶多称破,称破了就是我们刚刚那一个 啊,就撑破了吧,对吧?您相当于是给他一个高度跟宽度的一个限制啊,限制,那现在限制完成了以后就可以出现在我们这个区域,对吧?那我们刚刚这一个什么左监控号啊,就相当于按流堵,为什么在上面? 我们先啊,不考虑他为什么在上面来写一下这两个,那为了表示我们上面啊,这两个是为了统一一个样式,统一一下,我们就来给他一个按钮组, 再来写点 b t n s 吧,对吧?里面来一个盒子,盒子里面有两个啊,那这里面我没有图标,我就用什么 seed 标签一个,左括号一个呢?右括号 啊,左肩括号一个,右肩括号保存完了以后会是这个样子,对啊,会是这个样子, 那我要问大问问大家了,这个左监控号,这跟右监控号按道理来说是不规范的啊,如果说你现现在没有装一些什么啊,这个格式化插件啊,也不如格式化是一个啊,代码规范插件,如果说你装了一些 代码规范插电的话,他会在编辑器上爆红啊,或者说给你一个提醒,我们不能这样用,因为我们这为什么这个左肩空号,他相当于是我们标签的结束标签的开始吧, 你写了具有系统啊,也说说,这个编辑器会误认为这个是结束标签的开始,那这个右键符号呢?是我们开始标签的结束吧,这他也会误认为这个是开始标签的结束。所以说我们最好用转一字母, 对吧?网页的转一字母有很多啊,比如说我们这个艾特什么 nesp, 这个就是代表空格, 比如说我们这个网页,大家都知道你空几格,它其实你在网页上渲染的话,其实就是空一格,顶破天就是空一格,对吧?那如果说你使用这个 nbsp。 的 话, 你写了几个空格,它就是几空空几格,对吧?那这里面我们就来给大家问一下,这个左肩括号跟右肩括号的转移字母,它用什么表示? 知不知道啊?给你两个选择,一个是 l t, 一个是 gt。 做监控用哪一个? 猜的还是猜的?猜正确了,这个又呢 啊,要知道啊要知道啊,不要不要猜啊,这个东西又不是新学的,对吧?新学的,你猜的话,我我我,我得给你小红花,对吧?啊,小朋友,幼儿园小红花你好棒, 对吧?这个已经是你大一学的这个静态网页了,对吧?这个应该要知道啊,对吧?这个左肩括号啊,右肩括号就是这样的一个表示, l t 的 话啊,是左肩括号, g t 的 话是右肩括号啊,这个是以比较规范的一个左右肩括号的一个转移字符啊, 就是我们允许这样写,就是推荐这样写啊,不要写成这样一个建库号,这个在代码规范里面啊,是不推荐的 啊,这是我们这样一个,那说明我们这里面就已经打到了这一个左肩符号,右肩符号这样一个图标,对吧?那如果说你在正式的一些啊,场景或者说一些项目里面,你可以用这些啊图标啊,比如说我们这个去阿里神庙图里面去找一些图标也是可以的。 那这里面我就用这一个转音字母啊,这一个,那主要是怎么去把这两边啊,比如说左右两边去进行呢?首先我们不考虑这个定位的问题,对吧?怎么去修饰?那这里面我们直接给这个 b t s, 应该是对这个 b t s 进行修饰吧。那首先怎么去修饰它?首先怎么去把它左右两边啊?这个去排列, 其实我们可以用 display、 flex 布局,对吧?你写上这一个,就相当于把这两个变成了一个 flex 布局,那怎么去把这两个什么 分开啊?有一个 justify 什么 content 里面有一个属性叫做 space, 什么比特,就把这两个就是左右两列排列, 对啊,那接下来就是给它两个属性啊,这样一个修饰了,就是这个 span 元素进行修饰啊,首先给它一个背景颜色,对啊,那这边我们直接这样写点 b t n s 里面的 spad 标签啊,背景颜色我们可以给他,比如说是白色啊,但是不是粉白啊,可能是一个啊,这样一个灰白,你可以自己去修饰一下,对吧?然后呢再给他一个宽啊,宽度, 宽度多少?五十 p x 吧,高度也五十 p x。 然后这是这样一个东西啊,但是你会发现啊,这一个监控号跟啊监控号没有水平居中,它也没有垂直居中。 首先来看一下水平居中怎么居中,因为它是一个转移什么字体,它也是一个什么字体,那字体居中的话是 text 什么 alt 啊, center 啊,就是水平居中的了。那垂直居中怎么居中呢?垂直居中啊,教大家一个方法,如果说是字体的话,我们可以改变它的行高 啊,高度五十。我们行高其实跟高度一样啊,就是可以垂直这种啊,这只是在这个字体这一个范围之内啊,如果说它是一个图标的话,你就不能用这样一个啊,高度,对吧? 然后现在如何把它变成圆形呢?我们都知道宽度、高度都一样的情况下,它是一个正方形,正方形的话,你可以用什么 b o r d r radus 把它变成百分之五十,相当于这个啊,宽度啊,都是啊,圆 圆的情况下,圆弧的情况下,它其实就是变成了一个什么啊,这样一个啊,圆啊,因为在高度、宽度都一样的情况下,正方形把这个四个角都去剔除,它其实就是一个圆的。那现在最关键的来了啊,怎么把这两个放到这个图片上呢? 子觉互相,您只要记住这两个字就行了,这并不是一个成语啊,这是一个四个字的一个组合字啊,负 负负容器,也就是大的盒子,这个大的盒子要相对定位子呢,要绝对定位,来个子啊,这个按钮组,按钮组在这里,对吧?那这里面,我们直接在这里面啊,就是这边写个相对定位, 那怎么样相对啊? position 什么 vna 啊?这个是相对定一位,我们把这个注是写到横向了,为了节省一下空间,对吧?那这个负容器相对定一位子呢? 哪个日子?按道理我们是要把整个按钮组都覆盖在这个盒子上吧?啊,所以说是 b t n s 这一个按钮给他 position, 好 吧, 绝对定位是用哪一个 absolute 吧?对啊,但现在定位了以后,它为什么这里面呢?又挤在一起了? 是因为我们没有给他高度,就是你一旦啊定位了这一个绝对定位以后,它的高度是已经啊,就相当于变成一个,它本来说是一个啊, b t n s 它本来是一个会计元素 的,你一旦把这个 position absolute 就 定位绝对定位了以后,他又变成一个。什么类年啊?就是啊,类年元素啊,所以说我要把它变成一个啊,快捷元素,其实你直接把它的宽度变成百分之百就可以了, 但为什么没有覆盖上去呢?是因为我们没有定位啊,就是 top 多少啊,就是上边多少,左边多少,右边多少,我们没有,对吧?所以说啊,你如果说是相对定位的话, 他的根据其实就是根据到我们负荷期,那如果说你这里面没有相对定位呢?他的 top 是 以我们整个网页的窗口为主的,不信我们来看一下。比如说我们写个 top 为零的话, 它其实就是定位到上面,那如果说你把这个 position relatable 就是 负容器的相对定位给注视掉,你说在哪里我们直接删除, 他直接跑到上面去了,你信不信?是不是?所以说相当于是给他一个相对我们初中学的相对运动,物理的相对运动,看你是相对哪一个物体来说,那这里面是相对这个大的盒子来说是 top 为零, 对吧?那这里面不仅是 top 维尼吗?我们 top 是 要摆在中间,所以说可以直接给他百分之五十, top 百分之五十,对吧?但是 top 百分之五十的话是什么呢?是相对于他的 上边框来说是相等的啊,这两边啊,这个高度是相同的,但是如果说是以它的中间呢?怎么办呢?其实就是把它的高度的一半往上移吧,所以说怎么办? market top m a r t o p 负的多少就是高度的一半吧,所以说根据它的高度,它的高度是什么?五十五十的一半,二十五, 它就会往上移,这个相当于是以它的中心为主啊,这两个啊,对等的, 对啊,然后呢,这一个左边啊,左右边距要吧?左右边距的话,你可以啊写在 sum 元素里面啊,我们可以直接写个 money 啊,然后呢左右啊,第一个如果说是两个元素的话,第一个是上下,上下的话,我可以给它零左右的话,比如说二十 p x 啊,就可以往上提,或者说十五 p x, 这样,这个就是我们布局的一个前提。当然你如果说鼠标要经过这一个元素以后变成一个手型的话,是 ctrl 什么 point 啊?现在就是可以如果说鼠标经过这一个就会变成一个手型的一个标识。 好,我们一起来看一下他的逻辑啊,实现思路的话,根据我上面提供的这一个一二三四啊,就知道的。第一个啊,我们要在上面去定义一个什么表格图、 轮廓图,什么啊?列表,那这个列表的话我已经给到我们啊,刚刚下方这里面有一个数据点 t x t, 那 当然你也可以去手写啊,这里面你可以把这个轮廓图数据啊给复制一下, 然后呢?怎么去生成呢? const 啊,然后呢?是比如说是一个 s w i p e list, 等于啊 list, 那 把这一个轮播图给粘贴进来, 在正常开发中啊,这个轮播肯定是在数据库中,对吧?就比如说轮播图的重要意义是什么?宣传 啊,比如说我们这一个啊,比如是一个商城类的,你上架了一个商品,对啊,起到轮播图就是起到一个宣传的一个作用啊,上传的一个,比如说我们这个咖啡,你上传一个新品,对啊,你要推广, 那这里面有就是轮播吧,这个轮播的话你肯定是不能写死在里面了,所以说要通过我们这个数据库不断的去啊,比如说这一个礼拜上新啊,上架了这一个新品,然后下一个礼拜是由管理员把这个啊数据库的这个某个图片给更换的。那正常开发中这个数据是从后端请求的。 那,那因为我们现在啊就是没有学这个后端啊,这个也没有去对接这个后端,所以说我们把这个写死,然后面我们做像真做项目的时候,会把这个图片给请求一下, 他这里面有四张图片啊,四张图片,而且他并不是一个对象的形式,他是一个字母串的形式,按道理来说是要有一个啊,数组里面要添加一个对象,对吧? 然后这里面定义的一个对象啊,这是我们第一个啊,速读里面存储图片路径。第二个呢是要干嘛呢?声明下标。为什么要声明下标?我们等会来讲,先把这一个复现一下,就是我们这里面轮播图是干嘛的? 其实轮播图里面他有几种思路,就是好多版本的轮播图,你也可以把这个轮播图给渲染出来,就是四张图片都渲染出来,然后呢通过这个图片的定位,把这个四张图片都定位在了 一起,也就是说我们渲染的时候就是其实就是渲染一起的,但这个的话,其实啊思路比较复杂,那我们直接啊来进行,我们很简单的一个思路是什么呢?就是通过 v 杠半的啊,就是我们这个三给 s r c 绑定当前的图片地址。 怎么绑定啊?首先我们可以声明啊,这是第一个定义,第二个呢干嘛呢?这个思路,声明 当前什么轮播的下标,因为我们都知道这个轮播图它只是表示什么,第一张永远表示第一张,所以说我们可以声明当前轮播的图片下标, 比如说我们 count 的 一个什么 c u, r e、 n、 t 啊,当前 current 是 当前的意思等于 r e f, 我目前为零,就是他的下标为零,也就是说第一张图片下标为零的这样一个图片,所以说这里面怎么绑定呢?来删除我们静态的图片,在这里删除,删除完了以后我们给他添加一个 啊 v 杠棒的,但是我们后面我们就直接以这个冒号写了,我就不以这个完整形式写吧,那我们直接在这个 s、 r c 前面加个冒号,然后呢直接写这个数值, 但我们都知道啊,你数组,我们 s r c 是 代表某一个图片资源,你写上这个数组的话,它是一个数组啊,所以说这个图片显示不了,你要显示 当前的一个图片,也就是说我们数组的第几个元素,看到吧,所以说我们直接写个中括号,因为数组的啊,寻找的话,它是以中括号去代表的。那假如说我现在是零的话,你直接把这一个变量 current 写过去,现在就是代表第一个, 假如说你这个当前下标是为一,也就是说第二个吧,那为什么这里面显示不了呢? 是不是这张图片的原因?我们一起来打开这个第二张图片,可能是这个第二张图片的图片原因。当你如果说你是个思路正确的情况下,按道理应该是有的,那为什么这里面没有啊?直接刷新一下, 那我们换换张图片吧,我就换这一个静态图片,我们刚刚写的这个静态图片换下去,他可能这是第一张的,他可能这一个有一个问题,对吧?这是第二张, 那假如说我我换成下标为二的话,那就第三张换成下标为三的话,那第四张有没有下标为四啊?肯定没有啊,那就没有了,所以说这里面是当前下标为零,那就这样,对啊,这是第二啊,第三的话是我们这里边啊,第三是干嘛呢? 第三是通过啊, v 杠棒的 b i n d 绑定 s r c 手心, 那最后一步第四步了,点击上下修改,那怎么去修改?首先你要点击吧,所以说这里面我给这个左边添加一个 at 和 link 事件,那怎么办呢? 是不是我们刚刚只是手动的去修改了零一二三,对吧?那这里面我能不能 把这一个东西添加到这个左边或者右边,对吧?我们首先来给他添加为右边,来显示一下添加右边是不是往这个图片的 加加走?比如说现在第一张我点击右边的话,那第二张了,点击第三张了,点,再点击的话就第四第三张了,所以说是通过这个 content 什么 加加的形式,现在来看一下变了吧,对吧?那如果说点击左边呢?那就 ctrl 什么减减了, 对吧?来看一下减加减,这个就已经实现了我们基本的减一吧。 那如果说啊,假如说我点击这个应该是最后一张了,对不对?那我再点击没了,所以说留给我们一个思路是什么呢?当我们点击 最后一张的时候,要不要提示用户当前图片是在最后一张?同时当我们点击第一张的时候,这是应该第一张吧? 如果说已经没了,你不能减了吧?你,你减到负一数值有没有负一啊?肯定没有,没有负一的下标,那怎么办?要提示用户当前 图片是在第一张,当然现在的这一个,呃,这样一个需求是很少的,一般来说是干嘛?做循环?如果说你是在第一张的情况下,我再次点击就是图片的,这是轮播图的最后一张 啊,进行循环,那右边的话也是一样,当你这个图片是在最后一张的时候,我就把它变成第一张啊,留给你们啊,自己去啊,想一下,看一下怎么去实现。 想这个的话,你必须要啊,这个知道这个逻辑哈,就是这里面我就一次性在这里面去写了,如果说这个复杂的话,你可以用这个函数啊去表达,但这里面我就一个代码就直接敲了。 首先我们来判断一下这一个长度,对吧?怎么判断呢?当我们这个 current 啊,就是这个下标啊,就是我就写个 c 了,是吧?如果说大于谁啊?大于等于谁, 它呢?也是大于它的数组的长度吧,我就写个 a r, 因为这个单词太长了,对吧? a r 点什么? n s, 但你直接打印这个 n s 的 话,肯定会行的,为什么呢?因为长度,我们都知道长度,假如说这个数组里面有一二三有三个,对吧?它的长度是三, 但我们都知道 a r r 里面有没有这个三呢?没有吧,对吧?最多只能到二,所以说只能要减一啊,如果说大于等于这个三减一,也就是说 a r r 二的话 啊,也就是说这一个什么 c 啊,就是 ctrl 等于二的情况下,要干嘛呢?要进行下一招。 下一张的话呢,应该就是我们要复制,我们都都知道,如果说这一个是右啊,这个右按钮的话要干嘛呢?进行第一张吧,那就直接 c 给它复制, c 为零, 那否则的话,那就小于二,小于二的情况下,那就 c 加加。 对啊,所以这是这样一个逻辑在里面,那这里面我呢就用这个 sum 预算符去写 sum 预算符,知道这个格式吧, a 大 于 b, 然后呢加个问号啊,这个问号后边的是一个是真值,一个是假值, 比如说五大于六,那肯定不大于啊,对啊,那就是取它的假啊,是这样一个逻辑,那这里面我们就来改造一下啊,把,先把这个下一章改造一下。下一章怎么改造呢? 如果这个 current 大 于等于谁?大于等于谁, 这个数组吧,数组的长度减几减一吧,那我问好啊,这是个表达式哈,不要看它这么长,是因为我们这个啊,这个变量啊,它写这么长,这是一个表达式,那干嘛呢? 如果说它大于这一个,我们直接用什么 current 去进行赋值为零,否则的话,那就是问冒号,否则它干嘛? current 加加 像一个逻辑在里面,那一起来看一下他能不能实现呢?首先这是第一章,第二章,第三章,第四章看一下,现在是第四章了,按道理来说,我们要进行第一章的逻辑,上一章是不是也是一样的? 那就是判断这个第一章啊,我们刷新一下第一章,然后呢是否小于谁? 来看一下。就这个看到这个 current 小 于谁?是不是小于零啊? 要不要等于零?肯定要等于零啊,对吧?是否小于等于零?如果说小于等于零的话,让这个 current 进行干嘛?直接赋值为四啊?这个这个长度减一。 为什么要长度减一的?跟我们刚刚说一样,如果说这个数组为一二三,这个长度应该是三吧,如果说你让这个 c 等于三的话,这个下边有没有这个三,如果 a r 三,那肯定也不行啊,所以说是三减一,是二, c 等于二啊,否则的话是确认的。什么减减, 这是我们上一章的逻辑,那我们一起来把这个改造一下,确认到干嘛小于等于零的情况下,然后呢? 做判断吧。问好做判断,如果说它真的是小于等于零的情况下是干嘛?是啊,是 supreme 啊,这个是 current 给它赋值,赋什么 数组长度减一,否则的话是 current 减减。那现在来看一下能不能到达到什么第四张,因为这是第一张吗?如果说是啊,最后一张,我点击上一张,是不是最后一张? 这个相当于我无论点击哪一个按钮都是循环的,这也是我们现代的这个轮播图的一个逻辑,像之前在早个十年前 啊,就是我们刚刚讨论的,你点击第一张的话,他可能会提示你已经是第一张了啊,你只能停留在这第一张,当然具体需求具体分析,比如说我们做的啊,比如说你们抖啊,短视频,短视频的这个主页, 主页是不是也可以轮播啊?只不过他是上下轮播吧。那如果说你的主页里面有四个视频,你到第一张啊,第一个视频你还能继续往下滑吗? 也就是说往上就是说上一个视频,那肯定不行啊,对吧?那只能去通过判断了,对不对?所以说这里面啊,就是啊,我们要理解这个逻辑啊,理解这个逻辑,理解了,不管你是做什么项目啊,都能迎刃而解。 那下面再给五分钟啊,或者五到七分钟或八分钟时间,自己去整理一下这一个轮播图,当然还有一个,这个并不仅仅是一个啊,完整版,这是一个简易版,还有一个功能是干嘛的? 自动轮播啊,自动轮播的话靠你们自己去实现了。我这里不讲这啊,要结合我们这个四 s 什么啊? interview 啊,这样这样这样一个函数啊?比如说我们经过五秒或者十秒轮播一次自动轮播,对吧?啊?如,如果说加上这一个才是轮播图的完整版啊,这个你们自己去啊写一下啊。

这节课继续讲 v 三为什么比 v 二快?很重要一点,他的 pok 响应式做了优化,咱们先看代码二,这个是原声的 pralks 来处理响应式,那么第一个我是传这个参数,第二个我传的第二个参数,第二个参数里面有 get 和 set, 那么他处理这个 get 其实就是用了这个原声的 flex, 然后直接这个是对象,这个是 k, 这个是 receiver 啊,这个 set 也是一样,它给它 k venue receiver 一样的。比如说我在这个地方,第二十九行,我去更改这个内幕,那么它会触发 set 方法,这里面会打印,那么我更改 a 者也是同样的道理, 过去刷新,对吧?这是符合预期的。针对数主,他也是同样道理,比如说我在这定一个数主, 对吧?然后我在这个地方,然后我在这 pose 的时候, 我我铺是第四个元素,可以看他的后台打印,他会打印出来这四个。首先我要啊,我要 get 这个 pose 方法,对吧? get 完了之后,然后我要获取它的长度,然后我再 set 三四,这个地方的 set, 就是这个 k, 就是这个数值的下标吗?啊?零一二三啊,第三个下标是等于四的。最后呢,我再去更改 他的烂事,等于事,比如说他还可以这么签套,比如这地方我定了一个对象,对象是一个签套的对象里面套对象,对象的属性还是一个数,那么我在这个地方在设置这个内幕的时候,那么 他会触发咱们的这个赛的方法啊,首先先调用 get, 先得到这个对象,然后再通过这个对象再得到这个属性。在这地方和 v 一二唯一的区别就是说我只有在调用内幕的时候,那么他才会对他进行做处理,如果我不去调用 啊,那么这个数据他不做任何处理,那么对于这个 v 一二来来说呢?那么 v 一二的实线他其实他是这样的,这地方是更新视图,他咱们这地方是有点法,对吧?这地方是定义双榜,定义双榜这个地方可以看一下,这地方我还做了一个深度监听,也就是说我传入这个对象, 对吧?如果他不是一个对象,那么我就直接返回了,如果他是一个对象,那么我要获取他的 k, 每 k 和 v 扭都获取到,获取到之后呢?那么放到这个里面,这个里面是真正的奥巴扎克的地方, pop 的,那么在针对这个地方的 v 扭,我还要做深度监听, 对吧?深度监听,对吧?深度监听。然后他又走,这个他还要进行判断,二十万呢,有可能这个属性,那么他有可能还是一个对象,就类似于这样,他有可能还是一个对象啊,然后在这个地方我晒他的时候,我还要对新的纸进行深度监听啊,有可能我在这地方晒他,对吧? 我有可能我还会晒出一个对象,这都是有可能的,所以说这地方有一个很大的问题,就是说对于 vr, 我一进来之后我要不停的进行低规,哎,不管我这个属性有没有用到,我先给他低规一遍, 对吧?这这其实是非常好性能的。这个就针对一个数主,对于这个 vr 的数主的绑定,他会怎么处理呢?他相当于在数主的原型,他会单独的重新定一个原型对象,在这个原型对象上啊,他其实是什么呢?他其实是这个数主里面每一个方法他都做了这种处理 啊,所以他才能监听这个数组里面的这个数据的变化的时候,他才能进行双保啊。这个地方是做的处理,所以说他这个地方他, 他不会在这个圆形上去去这么做,如果就类似于他在这个圆形上去去这么做的话,他这地方其实是有问题的,也就是说他把这个圆形上的方法更改了,输入圆形上的方法,那么有可能我其他地方会用到 pose 方法, pose 方法 都会调用这个,那肯定是有问题的。所以说他这个 vr 针对于数数的绑定,他单独的对数数做了处理。还有一个一点就是 vr 他这地方啊,他这地方其实是深度监听,其实就低规,这低规有个不好的地方,就是如果对象层次,层次很深很深,对吧?我要绑定这个对象 城市非常深,比如 a, 他又是对象 b, 他又是对象 c, 他又是对象,那么这地方是计算量是非常大的,因为他一次绑定的时候在在这个地方 object, 对吧?穿这个对的,那么这个数据成绩很低,因此他需要一次计算到底,计算到底可能有有,有的时候我可能用不到这个 c 这个属性,也可能用到 b, 但他一开始都会给你处置,花了都会给你双保了,那这就是性能所在。所以唯一一三他用了 prc procc 是啥呢?他他不会给你欠套,不会给你申请式的欠套,只有你在真正你用的时候他才会进行处理。 这个为什么 v 三比 v 二快啊?其中有一点就是这个响应四,大家有不同的意见可以评论区留言。

网页版微信助手去进行我们这一个项目的巩固,然后这个微信版网页助手的话,可以给你们演示一下啊,就是他这里面是通过啊,这一个真实的这一个,我是手写的这一个微信传输助手的一个页面, 那这个页面的话其实功能也是简单啊,主要其实就是处理的一些细节上的问题。就比如说点击登录,还有一个就登录方式的一个切换,一个是 点击登录,一个呢是扫描二维码,当然这个二维码就是真实的,你扫了也没用,对吧?然后这里面就是点击切换两次啊,可以随时的切换, 那按到这里来说,你可以去分析一下我们频繁的切换是用哪一个指令,对吧?那这是这一个,那点击登录完了以后啊,它这里面,这里面有一个加载的一个 load 效果,这个 load 效果的话,它是怎么去进行啊?去加载里面的 的,然后我们后面会有一个讲完内置的指令以后,我们会自定义一个指令,也就是说我们微信不是 vivo 里面,他这一个内内置指令是有限的, 就是也就这么几个。那如果说你在公司里面去处理一些业务的时候,我们难免会有一些其他的指令在里面, 那我们就要自己自定义,自定义了这个指令,就这个加载的效果的指令是我们自定义的,对吧?然后呢加载完了以后,我们通过出现了这一个聊天界面框啊,聊天界面框,聊天界面框里面我们可以输入 啊,输入这一个啊对话啊,当然我在这里面去加了一个不要讲话啊,我去在里面加了一个聊天机器人的一个这一个 ai 在 里面 进行对话,比如说我们发送发送一个你好,然后呢他会给我回复一句,但这句这句的话是我自己就是相当于是一个给定的,你回复这个你好,他其实就是啊回复这一个,然后后面加了一个什么,比如说我输入一个肇庆天气啊,比如说你是谁,他也会回答 啊,后面最后一句话是肇庆天气,然后他会也是会自动的去回答这一个实时的这个天气。 那这是根据这一段啊,就是来模拟一下我们这个真实案例,但这个案例的话有很多的一些内容, 覆盖了我们所有指令的一个内容,所以说我可能会讲这个指令以后会结合这些案例,就是小小的一个功能去结合啊,结合一下,那当我们退出完了以后,会进行我们未登录的一个显示, 这个就是一一整个案例的一个流程。那接下来看一下我发给大家的原码,这个原码里面你们可以去打开在桌面上啊,在原码里面我直接把它复制过来吧,复制到我们今天这一个 啊,这里面就有啊,那我就不复制了的,那打开打开一下我们这一个里面的这个 啊,这里面有个源码啊,当然这里面有个刻件,你们可以去看一下,刻件跟我们这个这里面这个刻件一样的啊,然后呢点击源码,源码里面有这么一个,那你就看一下这是工程文件,还还少了哪一个?对比我们现在这一个还少了哪一个? 少了一个 note 模式,我为什么要删掉了?因为他这个文件比较大,如果说你刚刚就是正好去看一下这个源码这个文件的话,他这个并不是很大,只有六张,但是如果说你加上这一个了, 就可能会一百多兆,这是第一个问题。第二个问题的话,因为我们每个人的电脑上的录的环境不一样,有可能有的电脑上我,我看一下这个,现在我这个录的环境是二零点幺九到二二点幺二这一个区间之类的,那甚至有一些啊,电脑是十八点几的, 那就不支持,对吧?所以说我为什么要删掉?删掉以后我们要第一步要干嘛?来看一下我们点击这个源码,然后呢打开黑框, 第一步其实要下载依赖,因为它这个依赖是动态的,就是它会根据我们这个给定的版本,再根据你的电脑上的这个 node 环境环境去下载对应的版本。 不然如果说我把这个 node 模型给留下发给你们,你们启动启动的话是会报错的,因为每个人的电脑这一个环境是不一样的,对吧? 所以说你们如果说,比如说作为一个团队啊,你要发给大家啊这个预览,你最好去把这个 node 模型删掉,然后让他自己根据他自己的电脑去下载对应的安装包。那现在第一步其实就是啊, p n p m, 其实就是 n p m, 对 吧?那 p n p m i 啊,去下载对应的一个安装包啊,依赖这种呢?在这个企业里之内也是一样,跟我们刚刚那个一样,它这个下载的时候是会根据这个网络的一个变化而定的,所以说它这里面下载会很慢, 然后在这个期间你们自己去把这个一样啊,就是根据这一个文件啊去进行下载啊,现在他下载完成了以后就会有出现这一个 note 按钮字了,对不对?那我们先关闭一下我们刚刚的这一个啊,先关闭一下这一个,然后呢打开我们这个 微信的原码,把这个原码这个中文啊,这个这个文件夹拖到这个 vs code 里面去,一定是这一个原码这个中文,因为他要对应这一个,对吧?然后呢再来解析一下我们这个微信,你可以启动一下,先启动一下,再来观察 启动怎么启动 pmp, 什么 d e v, 因为我们这里面没有改,没有改那就是 d e v, 那 这里面也是五幺七三这个端口,因为我们刚刚这个黑框就是这一个, 哎,这个没关闭哈,没关闭,他这里为什么是五幺七三呢?他应该是啊,跟我们这一个替代了,那我们管把这个之前那个关闭一下啊,关闭一下, 关闭一下以后,你看一下,他会根据五幺七,因为我们刚刚是不是也是五幺七三?他会寻找我们本地的窗口,五幺七三去进行我们这一个页面的显示,他他现在显示的是这个样子 啊,原码的话就是这个样子哦,没有进行什么显示跟隐藏三个界面同时存在,一个是点击登录的界面,一个是扫描二维码的界面,一个是呢内容渲染的界面。那我们今天的一个目标是什么? 第一个要把这个跟下面这一个啊,只能保留一个,然后呢再根据我们这一个跟这一个只能保留一个,有两个任务,先来看第一个任务,第一个任务来看一下就是登录显示以及聊天页面的隐藏, 那怎么去写?首先来分析一下这个页面,这个页面里面其实目录都是一样的,主要还是 s r c 里面, s i c 里面有一个 access, access 我 们之前讲过,就是把所有的图片资源啊,这,甚至我们这个啊啊,这个月 mp 四、 mp 三这些资源都放在 access 里面啊,这是一个文件目录, 然后其次就是 app 点 view, app 点 view, 你 去看一下这所有的这一个什么代码啊,就包括样式在里面有两百八十四行 啊,两耳半声,不要被吓到了,对吧?人,人家真正的做开发的都有一千多号,甚至一万多号,对吧?那这么多代码我们怎么去分析呢?千万不要拿到这个代码,就是一同去看,要去分析哈。首先来分析一下这一个页面,这个页面的结构其实很简单 的,首先你可以折叠一下,我这里面写了一个很多注视啊,第一个是已登录,看到吧整个页面上就是一个未登录,一个已登录, 那进我们这节课任务一其实就是什么登录页面的显示跟聊天页面的隐藏,登录页是不是我们这个未登录区域啊?已登录是不是聊天区域啊?所以说是解决这两个区域的,那里面是什么我们不用管,就是先解决这两个, 那你会发现这两个要用哪一个呢? v 杠 if 还是 v 杠 if 呢?那你要回到我们刚刚讲的 v 杠 if 跟 v 杠的区别是什么 啊?千万不要说这一个两个都可以啊,因为如果说你是在真正做项目,大型项目的话,这个会影响我们性能 啊。对于我们这个这个性能,可能比如说快个两毫秒、三毫秒是没有关系,但是对于计算机来说是很大的区别啊,一毫秒都不行,对吧?那这里面你想一想,看一下 vga 需要它是什么? 频繁切换,你只要记住频繁切换是 google search, 不 频繁切换是 google, 那 就知道我们这里面登录跟已登录,你去看一下我们京东, 我全屏一下登录啊。就拿这个登录来说,你在这个登录,假如说我输入一个短啊这个密码密码登录,然后点击登录,登录完了以后我们再刷新一下页面,还有登录吗? 还有这个登录页面吗?没有吧,按道理我们所有的业务就是说你在一就是页面上你点击登录啊,已经就是比如说点击个这个按钮登录,登录完整了以后,除了你退出, 那刷新页面就不会出现这一个页面,所以说他应该是不频繁吧?肯定不频繁,一次登录就可以进行了,对吧?所以他不频繁,不频繁。一般来说用 ev 杠 e 符吧,对吧?所以说这里面大致的用什么 好,你怎么这么多事呢?好的,那看一下,现在我们分析了,一个未登录,一个已已登录就登录的话,一般用什么 v 按 f 去解决。对啊,但是有一个变量啊,我们要有一个变量去辨识了, 所以说在这个完成相上面,这一个用户数据先不看,因为用户数据我们现在用不到,在完成相应代码逻辑这里面我们声明一个意思,什么 logo? logo 印吧, logo 印是登录的意思,是否登录,我们来写一个 me, 那 写什么呢?我们一般默认话是未登录,未登录啊,是 false, 对 吧?写定这一个变量,然后呢?把这个变量放进去, 放进去啊,保存,其实还是依然的,依然是有的,为什么呢?我回测一下, 它会显示一个什么已登录的区域吧。按道理来说,我们登录一个网站来说是什么未登录就是提示我们登录吧, 所以说我们这一个一直都给,这就是我们这一个 pose 是 没有错的,你要改变它一个变量,那就在前面取一个非, 前面取一个非,那就是已登录。那未登录呢?其实还有为什么?因为你下面没有判断了是不是 v 杠 f 写了。你下面我们刚刚讲了两个判断啊,要不要用 v 杠 l 就 行。 对啊,那就是两者只保留一个,那下面那个内容就已经不在了,因为我们现在还是在未登录区,因为每个网站我们一定要点击才能登录了,或者说你输入账号才能登录,所以说默认是未登录,已登录,已经被隐藏了。 已经被隐藏,其实不是被隐藏了,是已经把这个动物元素删除了。如果说你用 vga 的 话, vcr 的 话就不一样,为什么?我们刚刚讲了 vcr 它是通过 css 去控制我们元素的显示隐藏, 那如果说你不删除这一个已登录区域的话,黑客啊,我们都知道黑客很厉害,对吧?黑客他会用一定的手段去进行 访问你的网站,那如果说有你用 css 去控制的话,它可以去修改你的 css 的 一个属性。我们都知道第一次 play 什么,那是隐藏的意思,那如果说他把这个 css 给改成 block 呢?那隐藏啊,那就显示了吧, 也就是说在没有登录的情况下,他访问你的内容肯定是不允许的,对吧?所以说这也是一个啊,这个,这个逻辑, 我们在未登录跟已登录的情况下,一定要用 v 杠 eve 啊,去把这个已登录给删除,我们可以右键啊,右键检查,你去看一下未登录区 啊,未登录区已经已经显示了吧,但已登录已经不在了,对不对?已登录是不是不在了?那如果说你用 v 杠 e show, 然后来进行达到它的一个隐藏地步来,以 o p 保存 啊,刷新一下看到吧,以当初区域,它其实是存在的,只不过是什么添加一个 disco 呢?假如说我这里面,我在测试阶段,我用这一个什么直接在这里面去改,可不可以改呢?啊?比如说我写个 d l、 o c k 倒回车是不是有 啊,只不过样式没有了,那你样式没有了,我这个我是不是功能是不是都有?我是不是可以访问你的内容,对吧?所以说我们写网站啊,就是一定要严谨,要懂得里面的原理啊,让你老板让你写个网站,你写个这样的,然后黑客一看就直接攻心的网站啊, 啊,即使不会,即使不是黑客,我攻击的网站都可以攻击的,对吧?所以说啊,一定要理解他的一个原理在里面,对吧?啊,这是外面的啊,外面的。那再来解决里面的一个是什么? 点击登录,一个是扫描二维码,我们都说一山不容二虎,对吧?一定要保留一个, 那我们就要找到,这是在未登录的情况下,未登录的情况下,那点击展开,找到一个就是叫做按钮的路,折叠一下来,找到一个二维码的路也折叠一下,那现在两个是不是一个是按钮,一个是二维码?那我们刚刚说了,又来说了, 当你那个频繁,假如说我频繁切换这个方式的时候是用什么,那,那那肯定是 vga show 吧?啊?不可能是 vga, 衣服频繁切换的话,它会耗费我们这一个网页的性能,所以说这里啊,就要用到 vga show, 在这里面按钮登录微干休,那微干休什么呢?这里是不是也要有一个变量,对不对?上面这一个我们定义是否登录定义变啊?这个登录变量,登录的变量标识了,对吧?然后再来一个定义什么 方式?就是登录方式啊,登录方式的变量,你用什么方式登录? cos 的 什么 啊?一只啊,这里 log in tab 啊, log in tab i f。 那 这里面明显是两种登录方式,对吧?你可以用 to 跟 force, 但我不推荐。为什么? 如果说你的系统后面要做扩展啊,扩展啊,比如说增加一个微信登录, qq 登录,淘宝登录,支付宝登录,各种登录, 那你只用这个啊,这个什么 q 跟 boss。 我 们都知道布尔值只有两个值是有限的,对吧?我们做系统一般都要做到扩展,就比如说包括我们显示屏跟你们的机箱,人家都有扩展的接口,对吧?你如果说不不不预留你的接口的话,不便于我们后面的这个网站的一个扩展, 那我们这里面你可以用字母代替,比如说 a 代表点击登录, b 代表二维码登录,对吧?你也可以用数字来表示,零是代表按钮登录,然后呢?一是代表扫码登录, 然后你后面啊,如果说增加了一些业务需求啊,比如 qq 登录啊,啊,这个支付宝啊,淘宝登录啊,都可以啊,比如说二是代表淘宝登录,三是代表啊,这个支付宝登录啊,这里面我们默认啊,是以点击登录为主,它就是零嘛, 对不对?那这里面微商需要填个词啊, log in tab 是 什么?我们刚刚说了按钮登录是什么?零,那就是等等于零,那二维码登录呢? v 杠 show 等于 log in tab 等等,等于算一,那现在保存是不是有,那现在你们往下滑这些都不见了 啊?这个就是我们今天讲的 v 杠 if 跟 v 杠 show 的 一个区别啊,今天改动的代码其实很少啊,就是第一个啊,定义两个变量,然后呢,在两个区域里面添加这个指令啊,四个指令 就可以了,这里面就是点击的切换效果,是在这个按钮登录里面就是这个点。这个什么?这个图片看到吧,在这个后面我是添加了一个 vga 这个标识,我我应该是没有删除啊,按道理要删除 啊,这里面就直接添加了一个点击登录的这一个功能在里面,对吧?那这里面进来我,我们看到这一个,我就干脆简单的讲一下啊,为我们下周去做一个铺垫的,就是点击效果的话是 vga 昂, 然后呢?冒号,这可令可。并不是啊,一直有的啊,就是点击,我们都知道在这个电脑上点击就是可令可的,那如果说是双击呢?就是 double dbl, 这是双击, 对吧? double l, 或者说你在手机上滑动啊,有个 hover 这个效果,对吧?或者说其他的,这这可令可并不是 必须啊,必须是可令,可也有其他的事件,包括我们后面学的那个 input 啊,这个事件是我们这一个输入事件 啊,输入框的输入时间,所以说这里面并不是一定是 client, 但是我们这里面要鼠标去点击的话,那就是 client, 对 吧?那 client 什么呢?要改变什么东西呢?我们点击切换的时候,是不是要点击这一个按钮 改变它的方式啊?对不对?我们刚刚说了,零是代表按钮登录, e 是 代表扫码登录,当我们点在这个按钮登录的这里点击,是不是要把这个 log in type 重新复制啊? 重新赋值为一啊?这个扫码登录,对吧?所以说我们点击的时候会进行扫码的页面,当然同时啊,在这个按钮这个二维码登录这里面啊,二维码登录这里面,是不是也是同样的道理 啊?把这个 log in type 变成零,零为按钮登录,这两个相互的变来变去,这个就是我们啊,这一个点击的一个逻辑在里面, 我们频繁点击的话,其实就是用 vr 秀,如果 vr 衣服的话,会影响你的网页的一个速度的啊,这也许是有一些网站你点多了啊,他会很慢很慢,对吧?这是我们这一个添加事件,添加事件你们可以去运行一下。

这也能猜?编程语言?这还是个二次元?这是谁?我不知道。有川基,简单高效,强大经典。那就是 c 语言啊,雪之下雪来。哎,这个我知道,我的青春恋爱物语果然有问题。不对不对,我猜的是编程语言,不是二次元。 数值计算,可识画。那就是 metlab, 数学上用它比较多。嗯,语法简单,易学易用。哦,我都看到点 night 呢。那就是 c 叉普,说实话,我从来没见过 c 叉普的程序员。 嗯?这又是谁呢?不知道。高性能,强大灵活,丰富生态,还可扩展。嗯,游戏开发,既能面向对象,也能面向过程。那就 c 加加呀。游戏开发, 嗯,平则为。哎,这个好眼熟呀,不认识啊。嗯,简单,上手快,安全可靠,还开元免费 主流服务器,该不会是世界上最好的语言吧? php 啊?是的。嗯,这是谁呢?嗯,内存安全,所有全系统,现代体验,那就是 rust, 现在用这个的很多很多内核都是用这个写的。 哎,终于到我们元神了,温迪风神,简洁优雅,高效开发社区,强大人工智能,外部开发, python 呀。嗯,怎么还是元神,中文元神,那就只有这里面了。这什么苍鲫鱼啊? 初音未来。嗯,简单易学,上手快,网页动起来的魔法语言。那 g s 吗?啊,好吧,一般好像不把这个单独算啊。 嗯,阿斯托尔夫,这是哪里面的?嗯,怎么又是简单易学又要强的一次变异,处处运行,跨平台,强大社区。我感觉中国还是 java 城学员最多啊,哼哼。

都说要选对编程语言,可你连计算机到底有哪四大主流语言都没搞懂,真的敢随便学吗?百分之九十的计算机同学都选反了。 python、 java、 c、 java script 看着都是热门语言,实则薪资差几倍,就业方向、发展天花板,天差地别,一步选错,年少赚几万,就业受限,晋升卡死, 甚至后期转行都难,这辈子都难翻盘。今天一条视频把四大编程语言的真实薪资、就业方向、入门难度一次性全讲透。第一,私语言。这是一门强大且广泛运用于底层的编程语言,主要应用领域是操作系统、接入式和服务器,像 windows 系统内核就是用私语言写的。 第二, java, 它主要用于软件和网站以及手机样的开发。我们平常用到淘宝、京东的订单系统和支付模块都是用 java 搭建的, 不过如今僵的内卷严重,如果你只是刚入门,那我劝你趁早转行。第三, java script 作为网页交互的主要,在体向按钮、点击、弹窗、动画等功能都得靠它实现。如果你想成为一名黑客,给网站做渗透测试或者挖漏洞,那么 j s 也是一定要了解的。第四, bug, 号称是最容易上手的编程语言,它的主要作用是爬虫, 数据分析和自动化测试方面,也适合大部分零基础的人。作为入门的编程语言,像我所在的黑客这一行,大部分人用的就是牌坊。当然,如果你是真想当一名白帽黑客,那么无论学习哪种编程语言都可以。那么你想学习哪门编程语言呢?

史上最难的编程语言,看看你会的排在第几位?第八名,开始公认入门最简单的编程语言,人工智能、爬虫、自动化用的都是他,基本上是网安人的标配。 第七名, c 语言大学第一门编程课就是他,前期学起来挺简单,但一道指正那一张直接送走一半人。第六名, go, 也叫 go 了,谷歌亲儿子,专门搞网络服务和后端开发,区块链项目经常用它,速度和并发是他的灵魂,网页能不能动起来全靠它 实时交互,数据渲染,没有 j s, 你 的网页就会平平无奇。第四名, php 打网站又快又省事,所以网安全,经常拿 php 解靶场,虽然全网都在喷它,但用的人一点没少。第三名,加瓦 学过的从来不缺对象,因为对象可以自己扭一个出来,不过现在加瓦开发赛道挤得水泄不通,卷到天际,不建议选择。第二名, c 加傻 g o c 的 暴力输出 又有面向对象的优雅,你天天打的王者荣耀,英雄联盟底层全是他写的。第一名, visual basic dynamic 拿来开发 windows 桌面和外部应用没问题,但想彻底拿下这门语言,你得拿全部头发换。那么你学过哪一门?

想知道最难的编程语言都有哪些吗?来瞧瞧你会的排第几?第八名是 padang, 它可是号称最简单的编程语言,当下主要应用于人工智能、爬虫以及自动化工具领域,黑客也经常用它写脚本在考试不过。第七名是 c 语言,作为多数人计算机入门的首选语言, 它前期容易上手,不过越往后越难,特别是指真部分,直接让多数人望而却步。第六名是勾语言,这是 google 开发的编程语言,主要用于网络服务、 web 开发以及区块链技术等方面。第五名是 java scraping, 简称 jes, 它是前端三件套之一,能让你做的网站鲜活起来,比如实现网站动态效果, 数据实时交互。第四名是 p h p, 用它搭建简单网站十分便捷。黑客练习攻防技术的靶场大多由 p h p 编辑。第三名是 java, 这算得上目前国内使用人数最多的编程语言,搭配 spring 框架,能开发出任何 web 应用。淘宝和京东的核心业务就是用 java 编辑的, 如今 java 行业竞争相当激烈。第二名是 c 加加,它兼具 c 语言的强大与面向对象编程的魅力,广泛应用于软件和游戏开发领域。像王者荣耀和英雄联盟就是用 c 加加编写的。第一名是 visual basic, 它适合开发 windows 桌面和未应用程序,但要掌握它,可能得掉不少头发。那么问题来了,你认为哪款编程语言最难呢?

今天我们把泊图软件里边几种编程语言我们简单探讨一下。泊图软件里边有机型图、 scl、 顺控、 cfc、 stl 这几种编程语言,像幺二零零 plc 的 话 就没有声控编程语言啊,也没有 cfc, 幺五零零里边有 stl 编程语言方式, cfc 的 话,它要另外再装一个补丁包哈,不装这个补丁包,泊头软件里边是没有 cfc 编程功能的。 呃, cfc 的 话,我们在初级 plc 调试人员这个设计的过程中是应该是很少用了, cfc 也不要去用,没意思是吧?呃, cfc 呢, 它比较就类似于什么呢?就是我们有一个上位机软件叫兰博基尼,兰博基尼在设计上位机图形的时候,你看它的设计的界面啊,界面里边哈编辑的页面里边就那些拉一个图框过来,拉一个图框过来的那种,就特别像 cfc, 如果说有这个机会,就是我们可以去看一下,就是兰博基尼是怎么做的,它就类似于那个 cfc, 有 个好处 就是你把这个程序下载到 plc 里边,你再想从 plc 里把这个程序下载下来,就看不到这些什么矿图了,你只能看到类似于 s、 t、 l 的 这些这些语句了啊,只能看到这些语句,所以说它你上来,上来之后就很难理解, 人家几个矿图一目了然的就做出来的,我们去看去分析 stl 就 非常头痛。只是我们编程语言的话,大概就得记住前面的视频讲的我们常用的三种 题型图, scl 还有这顺控,其他的那一种就可以不用了,你硬还没有烦恼多,你说傻不傻是不是?呵,确实,其他的语言确确实没有必要硬,我们现在常规的项目用这三种语言足够了。 我们暂时就就就是简单讨论一下这个,这薄图 plc 里边这个它的编程语言就这几种, 常用的梯形图, scl、 瞬控啊,不常用的 stl、 cfc, 还有功能块。

如果你写代码时,最头疼的不是不会写,而是项目太大,文件太多,上下文接不上,那这个开源项目值得看一眼。 他叫昆三库德,是通一千万团队推出的昆三代码版本,定位不是普通聊天机器人,而是面向编程和代码智能体的模型。简单说,他不只是帮你补几行代码,更适合参与开发流程、读项目、改代码、调用工具、配合开发环境完成任务。 它最有依据的一个能力是掌上下文,项目页面写明 quin san carter 原声支持两百五十六 k tokens 的 上下文,并且可以用 young 扩展到 em tokens。 这意味着它更适合理解仓库级别的代码,而不是只看你复制进去的一小段函数。第二个重点是语言覆盖面,官方列出它支持三百五十八种编程语言,包括 python、 javascript to javascript plus、 slash、 the q l h t m l c s s 等常见语言, 对多语言项目或者前后端混合项目会更方便。第三,它支持代码中间补全,也就是你给他一段前文和后文,让他把中间缺失的代码补上。 这个场景很实用,比如你在重构函数、补业务逻辑、补测试代码时,不一定要从头生成,而是让它接着现有结构来写。它还强调面向智能体编程,可以配合 queen code、 clink code、 cool 等平台使用,并设计了专门的函数调用格式。 官方示意里,它可以被用于发布网站、整理桌面、做网页小游戏、做交互式 ask 绘图工具,甚至让浏览器智能体去点击网页并报告问题。 目前,仓库里提供了多个模型版本,比如 quan three coder、 next four eight o b a three five b three o b a three b 以及 f p 八机制 u f 等版本下载入口包括 hugging face 和 model scope。 需要注意的是,官方也提示函数调用依赖新版工具解析器,并且要使用新的 tokenizer。 总结一下,坤三 coder 解决的是一个很现实的问题,让 e i。 更像开发助手,而不只是代码问答工具。想做本地开发代码补全项目,理解自动化开发流程的朋友可以收藏下来慢慢试。

今日学习 plc, plc 的 编程语言有哪些? plc 有 五种标准编程语言,其中只有三种是我们最常用的 梯形图、 st 和功能块。梯形图的特点及优缺点有哪些?梯形图是我们最常用也是最值得新手学习的一种,长得和电工继电器接线图一模一样, 基础可以做到快速上手,像工厂维修、电机启停、自锁互锁全靠它。缺点就是它太简单了,做不了复杂的运算。通讯呢,很笨拙, 大型程序又容易乱。指令表的特点及优缺点有哪些?第二个就是我们的老古董 i l 指令表像会编一行一句指令,老款小型的 plc 使用啊,占内存小但不直观,新手极易写错,现在新人基本上不用,咱们大家作为了解就可以了。 功能块图的特点及优缺点有哪些?功能块图像画电路图一样,拖块连线就行了,适合温度压力控制、 p i d 调节、仪表通信做算法和闭环控制呢,比梯形图舒服多了, 但是做普通的开关控制呢,又反而略显麻烦。结构化文本的特点及优缺点有哪些? s t 结构化文本它有点像 c 语言,做算法和批量处理呢,都是超级厉害,大型项目飞镖设备的首选,但是需要一定的编程基础啊,如果你是纯电工入门,对你来说 可能会比较难简单启停,用它呢,又感觉太浪费了,适合咱们后期提升自己学习顺序。功能图的特点及优缺点有哪些? s f c 按步骤走,机械手流水线分步骤工艺对它来说最合适。 调试呢,又很简单,但单纯启停控制没必要,部分小型 plc 它又不支持,你都学会了吗?