上一页 1 ··· 5 6 7 8 9 10 11 12 13 ··· 22 下一页
摘要: 经上一篇编译指令数据后,我们已经可以将指令数据编译成具体需要展示的数据了,上一篇只是编译了指令数据,还没有编译模板数据,这一篇我们就来编译模板数据。 也就是 {{}} 这种模板的形式我们该如何编译,其实和指令数据编译的思路是一样的,废话不多说,直接上代码。 改造一下 buildText 方法,让它支 阅读全文
posted @ 2023-10-15 18:14 BNTang 阅读(42) 评论(0) 推荐(1) 编辑
摘要: 经过上一篇的分析,完成了查找指令和模板的功能,接下来就是编译指令的数据了。 所以本章节主要处理的方法则是 buildElement 方法,我们先分析一下我们所拿到的数据在进行编码,这样会更加清晰一些。 我将 name, value 打印出来,分别对应的值是 name: v-model, value: 阅读全文
posted @ 2023-10-15 17:33 BNTang 阅读(302) 评论(0) 推荐(2) 编辑
摘要: 接着上一篇文章,我们已经实现了提取元素到内存的过程,接下来我们要实现的是查找指令和模板。 大致的思路是这样的: 遍历所有的节点 需要判断当前遍历到的节点是一个元素还是一个文本 如果是一个元素, 我们需要判断有没有v-model属性 如果是一个文本, 我们需要判断有没有{{}}的内容 那么随着思路的展 阅读全文
posted @ 2023-10-15 10:51 BNTang 阅读(243) 评论(0) 推荐(1) 编辑
摘要: 接着上一篇文章,我们已经实现了构建Vue实例的过程,接下来我们要实现的是提取元素到内存。 主要是通过文档碎片来实现,文档碎片是一个轻量级的文档,可以包含和控制节点,但是不会像真实的DOM那样占用内存,所以我们可以通过文档碎片来提高性能。 大致的思路是这样的: 创建一个空的文档碎片对象 编译循环取到每 阅读全文
posted @ 2023-10-14 18:37 BNTang 阅读(49) 评论(0) 推荐(1) 编辑
摘要: 前言 要想使用Vue必须先创建Vue的实例, 创建Vue的实例通过new来创建, 所以说明Vue是一个类, 所以我们要想使用自己的Vue, 就必须定义一个名称叫做Vue的类。 只要创建好了Vue的实例,Vue就会根据指定的区域和数据,去编译渲染这个区域,所以我们需要在自己编写的Vue实例中拿到数据和 阅读全文
posted @ 2023-10-03 10:42 BNTang 阅读(62) 评论(0) 推荐(1) 编辑
摘要: Vue双向数据绑定原理-下这一篇文章主要讲解Vue双向数据绑定的原理,主要是通过Object.defineProperty()来实现的,这里我们手写Vue双向数据绑定的原理。 首先我提出一个需求,我的需求是,快速监听对象中所有属性的变化。 首先得要有一个对象,对象的定义代码如下: <script> 阅读全文
posted @ 2023-09-30 21:18 BNTang 阅读(71) 评论(0) 推荐(1) 编辑
摘要: defineProperty方法 defineProperty除了可以动态修改/新增对象的属性以外, 还可以在修改/新增的时候给该属性添加get/set方法, 从而实现数据劫持。 defineProperty get/set方法特点 只要通过defineProperty给某个属性添加了get/set 阅读全文
posted @ 2023-09-30 20:29 BNTang 阅读(57) 评论(0) 推荐(1) 编辑
摘要: Vue响应式的原理(数据改变界面就会改变)是什么? 时时监听数据变化, 一旦数据发生变化就更新界面, 这就是Vue响应式的原理。 Vue是如何实现时时监听数据变化的 通过原生JS的defineProperty方法, 通过get和set方法来监听数据的变化。 defineProperty方法的特点 可 阅读全文
posted @ 2023-09-27 00:14 BNTang 阅读(154) 评论(0) 推荐(2) 编辑
摘要: 更改 Course.java: /** * 课程ID */ @TableId(value = "course_id", type = IdType.AUTO) @NotNull(message = "{course.id.notnull}") @Excel(name = "课程编号") privat 阅读全文
posted @ 2023-09-25 00:38 BNTang 阅读(27) 评论(0) 推荐(0) 编辑
摘要: 后端 新建 CourseVO.java: /** * CourseVO类是一个课程的值对象,用于存储课程的相关信息。 * 它包含了课程的名称、类型、适用对象、最低价格和最高价格等属性。 */ public class CourseVO { private String name; // 课程名称 p 阅读全文
posted @ 2023-09-25 00:34 BNTang 阅读(15) 评论(0) 推荐(0) 编辑
上一页 1 ··· 5 6 7 8 9 10 11 12 13 ··· 22 下一页