资讯专栏INFORMATION COLUMN

关于一些Vue的文章。(2)

DirtyMind / 489人阅读

摘要:原文链接我的,欢迎。这次想要分享的一篇文章是从一个奇怪的错误出发理解的基本概念。瞬间明白了,原来是函数,一个考验编程能力的函数,比更接近编译器。来看这里有一个小知识点被忽略在实例挂载之后,元素可以用访问脑补会用到的场景中。。。

原文链接我的blog,欢迎STAR。

这次想要分享的一篇文章是:从一个奇怪的错误出发理解Vue的基本概念。

这篇文章以Vue的两种构建方式做为切入点,深入探讨了Vue的基本概念,编译以及挂载的相关过程。

在这篇文章里学到很多以前忽略的地方:

开始学习vue的时候,由于有一些react基础,对组件的形式有些了解,就直接从vue-cli开始了,忽略了vue的两种构建模式,既是使用默认的运行时构建。

从vue官网里,可以很清楚的了解,vue存在两种构建模式,运行构建和独立构建。他们的区别在于独立构建包含模板编译,而运行构建不含模板编译。

那么问题来了,在项目那么多组件里,每个组件都有template选项,既然运行时构建不含模板编译, 那是怎么项目是怎么运行起来,难道我是使用了假的vue??

来看看官网的说明:

运行时构建不含模板编译器,因此不支持template选项,只能用render选项,但即使使用运行时构建,在单文件组件中也依然可以写模板,因为单文件组件的模板在构建时预编译为render函数。

瞬间明白了,原来是render函数,一个考验JavaScript编程能力的函数,比template更接近编译器。

那么问题又来了,render函数与template有什么关系?

render 函数、 template 属性以及 el属性。

分享的这篇文章有一点总结的很好:

当Vue选项对象中有render渲染函数时,Vue构造函数将直接使用渲染函数渲染DOM树,当选项对象中没有render渲染函数时,Vue构造函数首先通过将template模板生成render函数,然后再渲染DOM树,而当选项对象中既没有render渲染函数,也没有template模板时,会通过el属性获取挂载元素的outerHTML来作为模板,并编译生成渲染函数。

似曾相识的几句话……

Vue官网API搜索template:

这里最后一句话,如果Vue选项中包含render函数,template选项将被忽略,也就是说在渲染DOM树时render函数的优先级 大于 template选项。

意思也是在进行DOM渲染的时候,render函数优先级最高,templateel次之。

来看 el

这里有一个小知识点被忽略: 在实例挂载之后,元素可以用vm.$el访问(脑补会用到的场景中。。。)

最后一条信息里:

如果render函数和template属性都不存在,挂在DOM元素的HTML会被提取出来用作模板,此时,必须使用Runtime + Compiler构建的Vue库。

也就是说: 在进行DOM树渲染时,render渲染函数的优先级最高,template次之且需要编译成渲染函数,在前两者均不存在时,挂载DOM元素的outerHTML会被提取出来用作模板。

当然,构建Vue实例时,可以不含有render, template, el三者中任何一个。

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/82330.html

相关文章

  • 程序员练级攻略(2018):前端性能优化和框架

    摘要:,谷歌给的一份性能指南和最佳实践。目前而言,前端社区有三大框架和。随后重点讲述了和两大前端框架,给出了大量的文章教程和相关资源列表。我认为,使用函数式编程方式,更加符合后端程序员的思路,而是更符合前端工程师习惯的框架。 showImg(https://segmentfault.com/img/bVbjQAM?w=1142&h=640); 这个是我订阅 陈皓老师在极客上的专栏《左耳听风》...

    VEIGHTZ 评论0 收藏0
  • 程序员练级攻略(2018):前端性能优化和框架

    摘要:,谷歌给的一份性能指南和最佳实践。目前而言,前端社区有三大框架和。随后重点讲述了和两大前端框架,给出了大量的文章教程和相关资源列表。我认为,使用函数式编程方式,更加符合后端程序员的思路,而是更符合前端工程师习惯的框架。 showImg(https://segmentfault.com/img/bVbjQAM?w=1142&h=640); 这个是我订阅 陈皓老师在极客上的专栏《左耳听风》...

    CoffeX 评论0 收藏0
  • webpack配合vue.js实现完整单页面demo

    摘要:本篇文章主要是我在开发前研究了的单页面应用,因为需要用到的,所以确保安装了,建议官网安装最新的稳定版本。本文章只是和大家探讨怎么利用配合做一个单页面应用,具体关于里面的内容怎么写并不在本篇文章的介绍范围。 本篇文章主要是我在开发前研究了webpack+vue.js的单页面应用,因为需要用到node的npm,所以确保安装了node,建议官网安装最新的稳定版本。并且在项目中需要加载一些np...

    2450184176 评论0 收藏0

发表评论

0条评论

DirtyMind

|高级讲师

TA的文章

阅读更多
最新活动
阅读需要支付1元查看
<