vue源码阅读—07—编译原理之parse
2022/8/5 1:22:43
本文主要是介绍vue源码阅读—07—编译原理之parse,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
ast树是一个js对象,ast树是对模板的一种描述;
类似于vnode是对真实dom的一种描述,
ast树是对模板的一种描述;
注意:
我们调试代码时,除了debugger还有consolelog即clog方式;简单的代码可能就直接clog调试了。
但是有个问题,比如说我们在const ast = parse(template.trim(), options)代码后,打印ast
但是clog一个引用数据类型,在后续optimize(ast, options)会对变量ast做修改,
所以,当我们我们在控制台打印的ast其实是被optimize修改了的,并不是parse后的原生ast;因因为ast是一个引用堆内存的地址,堆里内容变了,它也就随之变了。
那怎么解决?
1.使用debugger
2.如果提前知道ast可能会边,使用Json.stringify()进行序列化;或者使用OBject.assgn()进行浅拷贝;
这篇关于vue源码阅读—07—编译原理之parse的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-05-09vue3开发前端表单缓存自定义指令,移动端h5必备插件
- 2024-05-09React Hooks在class组件中的使用方式
- 2024-03-30[OIDC in Action] 2. 基于OIDC(OpenID Connect)的SSO(纯JS客户端)
- 2024-03-29terraform jsonencode
- 2024-03-13vuex-persist
- 2024-03-11icons for vue
- 2024-03-07breadcrumbs react js
- 2024-03-06react login page example
- 2024-03-06react router uselocation
- 2024-03-04postgres jsonb_set