小小鲁班的技术口袋

小小鲁班的技术口袋

原文链接:

  1. https://github.com/ly525/blog/issues/90
  2. https://segmentfault.com/q/1010000007130348?_ea=3899677

请解释:render: h => h(App) 这段话的意思?

# main.js
new Vue({
    el: '#app',
    router: router,
    store: store,
    render: h => h(App)
})

为了方便仍然有疑惑的人,贴一个链接, 其中 @bjunc 的解答可以作为该题的完美回答;

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

render: function (createElement) {
    return createElement(App);
}

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

render (createElement) {
    return createElement(App);
}

再进一步缩写为:

render (h){
    return h(App);
}

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

render: h => h(App);

其中 根据 Vue.js 作者 Even You 的回复,h 的含义如下:

个人理解:createElement 函数是用来生成 HTML DOM 元素的,也就是上文中的 generate HTML structures,也就是 Hyperscript,这样作者才把 createElement 简写成 h。

05-01 16:52