vue2——new Vue({router,store, render: h => h(App) }).$mount(‘#app‘);分析

router

render: h => h(App) 是下面内容的缩写:

javascript 复制代码
render: function (createElement) {
    return createElement(App);
}

进一步缩写为(ES6 语法):

javascript 复制代码
render (createElement) {
    return createElement(App);
}

再进一步缩写为:

javascript 复制代码
render (h){
    return h(App);
}

按照 ES6 箭头函数的写法,就得到了:

javascript 复制代码
render: h => h(App);

It comes from the term "hyperscript", which is commonly used in many virtual-dom implementations. "Hyperscript" itself stands for "script that generates HTML structures" because HTML is the acronym for "hyper-text markup language".

它来自单词 hyperscript,这个单词通常用在 virtual-dom 的实现中。Hyperscript 本身是指

生成HTML 结构的 script 脚本,因为 HTML 是 hyper-text markup language 的缩写(超文本标记语言)

个人理解:createElement 函数是用来生成 HTML DOM 元素的,也就是上文中的 generate HTML structures,也就是 Hyperscript,这样作者才把 createElement 简写成 h。h是 Vue.js 里面的 createElement 函数,这个函数的作用就是生成一个 VNode节点,render 函数得到这个 VNode 节点之后,返回给 Vue.js 的 mount 函数,渲染成真实 DOM 节点,并挂载到根节点上。

相关推荐
前端大卫34 分钟前
为什么 React 中的 key 不能用索引?
前端
你的人类朋友36 分钟前
【Node】手动归还主线程控制权:解决 Node.js 阻塞的一个思路
前端·后端·node.js
bing.shao2 小时前
Flutter 与 Native的比较
flutter
小李小李不讲道理2 小时前
「Ant Design 组件库探索」五:Tabs组件
前端·react.js·ant design
毕设十刻2 小时前
基于Vue的学分预警系统98k51(程序 + 源码 + 数据库 + 调试部署 + 开发环境配置),配套论文文档字数达万字以上,文末可获取,系统界面展示置于文末
前端·数据库·vue.js
mapbar_front3 小时前
在职场生存中如何做个不好惹的人
前端
牧杉-惊蛰3 小时前
纯flex布局来写瀑布流
前端·javascript·css
一袋米扛几楼985 小时前
【软件安全】什么是XSS(Cross-Site Scripting,跨站脚本)?
前端·安全·xss
向上的车轮5 小时前
Actix Web适合什么类型的Web应用?可以部署 Java 或 .NET 的应用程序?
java·前端·rust·.net
XiaoYu20025 小时前
第1章 核心竞争力和职业规划
前端·面试·程序员