Electron-vue开发实战Ⅱ(二)| 实现markdown实时渲染的三种方法
项目中采用marked.js用来实现对textarea区域的markdown文本进行实时渲染。具体的实现细节以后有空更。下面总结一下,我看到的多种可以用来进行实时渲染的方案。主要途径就是electron(调用webAPI)或者vue的一些功能。
通过webAPI使用addEventListener() API⁍
之前说过,electron是结合了node.js和chromium,这意味着它可以处理DOM对象
因此,我们可以获取到相应的对象[1]
1 | |
通过调用addEventListener(),检测keyup事件,即监听输入区域内是否有按完键盘的事情发生,来达到实时渲染的目的。
1 | |
vue: 表单输入绑定⁍
可以用 v-model 指令在表单 <input>、<textarea> 及 <select> 元素上创建双向数据绑定。它会根据控件类型自动选取正确的方法来更新元素。它负责监听用户的输入事件以更新数据,并对一些极端场景进行一些特殊处理。[2]
v-model会忽略所有表单元素的value、checked、selectedattribute 的初始值而总是将 Vue 实例的数据作为数据来源。你应该通过 JavaScript 在组件的data选项中声明初始值。
v-model 在内部为不同的输入元素使用不同的 property 并抛出不同的事件:
- text 和 textarea 元素使用
valueproperty 和input事件; - checkbox 和 radio 使用
checkedproperty 和change事件; - select 字段将
value作为 prop 并将change作为事件。
1 | |
定义update方法
1 | |
vue:监听内容变化⁍
有时也需要一个自定义的侦听器。Vue 通过 watch 选项提供了一个更通用的方法,来响应数据的变化。当需要在数据变化时执行异步或开销较大的操作时,这个方式是最有用的。[3]
代码参考[4]
1 | |
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 若叶!




