摘要: 经过上一篇的介绍,已经实现了观察者模式的基本内容,接下来要完成的就是将上一篇的发布订阅模式运用到 Nue 中,实现数据驱动界面改变。 在监听数据变化的章节当中,根据指定的区域和数据去编译渲染界面 这个步骤处,我写了一个注释,这个注释是这样的:第一步:给外界传入的所有数据都添加get/set方法,第二 阅读全文
posted @ 2023-10-15 23:07 BNTang 阅读(58) 评论(0) 推荐(0)
摘要: 经过上一篇的介绍,已经实现了监听数据的变化,接下来就是要实现数据变化后,界面也跟着变化,这就是数据驱动界面改变。 想要实现数据变化之后更新UI界面,我们可以使用发布订阅模式来实现,先定义一个观察者类, 再定义一个发布订阅类, 然后再通过发布订阅的类来管理观察者类。 接下来我们就来实现这个代码。 定义 阅读全文
posted @ 2023-10-15 22:00 BNTang 阅读(95) 评论(0) 推荐(0)
摘要: 经过上一篇的介绍,已经实现了将模板编译成具体数据,接下来要介绍的是如何监听数据的变化,本章主要完成这个需求即可。 在我们文章的开始,我写了一个 Vue 双向数据绑定原理的文章当中封装了一个 Observer 类,这个类的作用就是监听数据的变化,当数据发生变化的时候,会通知订阅者,订阅者会去更新视图。 阅读全文
posted @ 2023-10-15 18:58 BNTang 阅读(75) 评论(0) 推荐(0)
摘要: 经上一篇编译指令数据后,我们已经可以将指令数据编译成具体需要展示的数据了,上一篇只是编译了指令数据,还没有编译模板数据,这一篇我们就来编译模板数据。 也就是 {{}} 这种模板的形式我们该如何编译,其实和指令数据编译的思路是一样的,废话不多说,直接上代码。 改造一下 buildText 方法,让它支 阅读全文
posted @ 2023-10-15 18:14 BNTang 阅读(63) 评论(0) 推荐(1)
摘要: 经过上一篇的分析,完成了查找指令和模板的功能,接下来就是编译指令的数据了。 所以本章节主要处理的方法则是 buildElement 方法,我们先分析一下我们所拿到的数据在进行编码,这样会更加清晰一些。 我将 name, value 打印出来,分别对应的值是 name: v-model, value: 阅读全文
posted @ 2023-10-15 17:33 BNTang 阅读(444) 评论(0) 推荐(2)
摘要: 接着上一篇文章,我们已经实现了提取元素到内存的过程,接下来我们要实现的是查找指令和模板。 大致的思路是这样的: 遍历所有的节点 需要判断当前遍历到的节点是一个元素还是一个文本 如果是一个元素, 我们需要判断有没有v-model属性 如果是一个文本, 我们需要判断有没有{{}}的内容 那么随着思路的展 阅读全文
posted @ 2023-10-15 10:51 BNTang 阅读(373) 评论(0) 推荐(1)