vue的render的作用和参数,vue3.0 render

  vue的render的作用和参数,vue3.0 render

  本文主要介绍了对Vue脚手架中render的理解,非常详细的为大家介绍,对大家的学习或者工作有一定的参考价值。有需要的朋友可以参考一下。

  在vue的脚手架中,我们会看到入口文件main.js中new Vue的代码中有一个代码render:h=h(app);

  这段代码不像我们一般使用vue时的代码。

  我来写一般的Vue代码。

  从导入组件./a组件

  vm=新Vue({

  埃尔: #app

  data(){

  返回{

  答:“aaa”,

  乙:“bbb”

  }

  },

  模板:` div

  span这是一次测试/span

  组件/组件

  /div `,

  组件:{

  组件

  }

  })

  上面的代码是我们能正常理解的代码。有一个模板,里面可以引入其他组件,但是为什么脚手架里有一个render方法?

  按照自己的想法,可以把脚手架的代码改一下,看看。

  启动scaffold,npm运行serve,查看结果,并报告错误。信息如下

  所以我们可以说,脚手架引入的vue是一个没有模板解析器的vue。如果要解析模板,应该借助render函数。

  让我们转到项目的node_modules文件夹,看看我们引入了哪个vue。

  从“vue”导入Vue

  当我们打开vue/dist的文件时,可以看到很多文件,如图所示。

  错误说我们有两个解决方案,一个是引入完整的vue.js,一个是使用render。

  下面介绍一下完整版,看看能不能解决。

  我们来看第二个,引入vue没有模板解析器,使用render,

  先说一个渲染。

  Render是一个带有一个参数的函数,用于创建一个节点。

  通过console.log我们可以看到参数createElement也是一个函数,它创建了一个VNode的对象。

  让我们使用箭头功能来简化渲染。

  渲染(createElement){

  返回createElement(“h1”,“123”);

  }

  //使用箭头函数来简化

  render:(createElement)={ return createElement( h1 , 123)}

  //箭头函数只有一个参数,不需要写大括号。如果方法体只有一行,就不需要写大括号和返回值。

  //所以上面的代码可以简化如下

  render:createElemnet=crement element( h1 , 123 )

  //同样,createElement是自定义的,所以我们可以更改名称。

  render: h=h(h1 , 123 )

  //这很像脚手架中的代码

  h函数,如果是原生html标签,是这样写的。如果是vue的组件,可以直接传入。

  什么都有。

  render:h=h(App)

  render就是这么写的。

  先说为什么脚手架会引入不完整的vue。

  我们知道,vue代码完成后,需要对其进行封装,包括vue的核心代码。当我们打包它时,我们实际上不需要解析模板。然后,根本不需要vue核心代码中的模板解析器。所以为了减少代码的大小,vue去掉了模板解析器,但是我们开发的时候又要用到,所以我们创建了一个render方法来解析模板。

  简而言之,它的目的就是让打包的代码尽可能的小。

  这就是这篇关于理解Vue搭建中的渲染的文章。更多关于理解Vue render的信息,请搜索我们之前的文章或者继续浏览下面的相关文章。希望大家以后能多多支持我们!

郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。

留言与评论(共有 条评论)
   
验证码: