首页 > 其他分享 >Vue App.vue

Vue App.vue

时间:2024-05-01 19:56:58浏览次数:21  
标签:Vue 函数 render App vue createElement 节点

Vue  App.vue

Vue 的 App.vue 文件是整个Vue项目中最核心的文件之一,它是所有组件的基础组件,也是整个Vue应用的入口文件。

我们可以在  App.vue 中定义一些全局的样式、组件、路由和状态管理等,从而方便其他组件的调用。

App.vue 内部包含三个主要部分:模板、逻辑代码和样式。其中,模板部分用于定义页面的结构和布局,逻辑代码用于定义组件的行为和交互,样式用于定义组件的外观和风格。

<template>
<div class="app">
<router-view />
</div>
</template>
<script> import router from './router'; import store from './store'; export default { name: 'App', router, store }; </script>

<style> .app { margin: 0 auto; max-width: 800px; } </style>
 

在上面的代码中,我们可以看到模板部分定义了一个名为“app”的div元素,其中包含了一个路由视图组件,将渲染各个路由对应的组件。

逻辑代码部分引入了router和store文件,并导出了一个名为“App”的Vue组件对象,该组件对象包含了router和store实例,可以在子组件中使用。

而样式部分则定义了app元素的基本样式,包括水平居中对齐和最大宽度限制,从而使整个Vue应用在视觉上更加美观和统一。

总之,App.vue文件在Vue项目开发中扮演着非常重要的角色,是整个应用程序的核心枢纽,我们可以通过它定义一些全局的组件和样式,方便其他组件调用,从而达到提升开发效率和优化用户体验的目的。

REF

https://www.yzktw.com.cn/post/1201207.html

=====================================

 

=====================================

 

Vue 在调用 render 方法时,会传入一个 createElement 函数作为参数,也就是这里的 h 的实参是 createElement 函数,这个函数的作用就是生成一个 VNode节点,render 函数得到这个 VNode 节点之后,调用了 mount 方法,渲染成真实 DOM 节点,并挂载到(通常是div app)节点上。

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

=====================================

ES6(ECMAScript 2015)基本语法(Vue) 草稿

JavaScript 函数定义

 

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

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

继续缩写:

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

继续缩写:

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

箭头函数:

h => h(App);

其中 根据 Vue.js 作者 Even You 的回复,h 的含义如下:
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。
链接:https://blog.csdn.net/wxlly06/article/details/123396637

 

REF

https://www.cnblogs.com/huanxiongs02/p/14828308.html

=====================================

render函数是渲染一个视图,然后提供给el挂载,如果没有render那页面什么都不会出来

相当于就是将App.vue页面渲染出来,render 函数得到这个 VNode 节点之后,返回给 Vue.js 的 mount 函数,渲染成真实 DOM 节点,并挂载到根节点上,

根结点在index.html下面有一个#app的div上

最后的效果就是将:App.vue页面渲染出来,插入到index.html里面一个叫做

 

vue.2.0的渲染过程:

1.首先需要了解这是 es 6 的语法,表示 Vue 实例选项对象的 render 方法作为一个函数,接受传入的参数 h 函数,返回 h(App) 的函数调用结果。

2.其次,Vue 在创建 Vue 实例时,通过调用 render 方法来渲染实例的 DOM 树。

3.最后,Vue 在调用 render 方法时,会传入一个 createElement 函数作为参数,也就是这里的 h 的实参是 createElement 函数,然后 createElement 会以 APP 为参数进行调用

 

createElement 到底会返回什么呢?其实不是一个实际的 DOM 元素。createElement更准确的名字可能是 createNodeDescription,因为它所包含的信息会告诉 Vue 页面上需要渲染什么样的节点,及其子节点。我们把这样的节点描述为“虚拟节点 (Virtual Node)”,也常简写它为“VNode”。“虚拟 DOM”是我们对由 Vue 组件树建立起来的整个 VNode 树的称呼。

总体来说,揣测认为,Vue 在调用 render 方法时,会传入一个 createElement 函数作为参数,也就是这里的 h 的实参是 createElement 函数,这个函数的作用就是生成一个 VNode节点,render 函数得到这个 VNode 节点之后,调用了 mount 方法,渲染成真实 DOM 节点,并挂载到(通常是div app)??节点上。

其实vue有两种渲染方法,一种是通过模板<template>
一种是render function
链接:https://www.jianshu.com/p/82b24431bb4c

 

 

标签:Vue,函数,render,App,vue,createElement,节点
From: https://www.cnblogs.com/emanlee/p/18007207

相关文章

  • 前端Vue 启动过程 启动流程 执行流程
    前端Vue执行流程Vue的执行流程一般来说,当启动vue程序时,系统会先调用main.js文件 在main.js中,创建了一个新的vue对象并将其挂载到App.vue中id为app的html组件中 在App.js中,引入<router-view/>标签来进行路由管理,系统会进入router文件夹中的index.js文件中来寻找路由i......
  • Vue项目中每个文件夹和文件的用处
     myfirstvue#项目名-node_modules#文件夹,放了该项目所有的依赖,很小很多,以后把项目传给别人,这个要删除,别人拿到执行cnpminstall安装依赖-public#文件夹-favicon.ico#小图标,浏览器上面显示,可以替换-index.htm......
  • Vue项目中main.js、App.vue、import...from...等的作用和意义
      https://www.cnblogs.com/webwangjie/p/11471542.html 一、main.js  1、 main.js程序入口文件,初始化vue实例,并引入使用需要的插件和各种公共组件.importVuefrom'vue'importAppfrom'./App'importrouterfrom'./router'importLessfrom'Less'......
  • EPAI手绘建模APP动画编辑器、信息、工程图
    ④ 动画:打开关闭动画编辑器。APP中动画包含两个部分,动画编辑器和动画控制器。动画编辑器用来编辑动画。具体来说,选中一个模型后,给模型添加移动、旋转、缩放三种关键帧,不同的模型添加不同的关键帧,实现动画效果。通过动画编辑器完成动画编辑后,通过动画控制器播放动画,动画控制器参见......
  • EPAI手绘建模APP设置、快捷按钮
    2、右上角设置无论视角立方体是否可见,点击场景的右上角位置,打开设置页面。设置页面包括配置页面和显示页面。(1) 配置图 94 设置-配置① 开关1) 网格:隐藏显示场景背景网格。隐藏网格后,网格点捕捉也会不起作用。2) 坐标轴:隐藏显示场景坐标系坐标轴。3) 选中信息:隐......
  • EPAI手绘建模APP模型库、生成器、齿轮、螺栓
    ⑦ 模型库1) 打开模型库。图 89 模型库2) 模型库目前包含了齿轮和螺丝两种工业设计中常见的零件,后续会逐步推出其它零件。3) 选择齿轮库或者螺丝库后,选择需要打开的齿轮类型和螺丝类型,打开对应零件。图 90 模型库-齿轮4) 点击选择按钮,在建模场景中打开对应的零......
  • 《Node.js+Vue.js+MangoDB全栈开发实战》已出版
    《Node.js+Vue.js+MangoDB全栈开发实战》随书源码下载地址:链接:https://pan.baidu.com/s/1DQYgPZLmtJCIuDXs8gub_w?pwd=1127提取码:1127课件下载地址:链接:https://pan.baidu.com/s/1M36y1xu-gIUidDxw38GlBg提取码:1988随书目录目   录第1章 Node.js和TypeScript基础·......
  • uni-app 微信小程序之红包雨活动
    直接上代码<!--红包雨活动--><template> <scroll-viewscroll-y="true"> <viewclass="red-envelope-rain"> <viewv-for="(redEnvelope,index)inredEnvelopes":key="index"class="red-envelop......
  • 群晖内网穿透+域名访问+PLEX APP直接访问
    本文主要记录自身PLEX通过APP访问的记录,也算是一个教程。另感谢各教程贡献者,详见参考。本教程重点在内网穿透的域名访问内网资源。适用人员针对无公网IP,同时PLEX安装在群晖或其它NAS上的,希望在外网使用pelx应用访问家中资源的人(其它系统也类似,原理相同)前期准备购买云服......
  • Vue入门到关门之前端引入
    一、前端发展历史1、什么是前端?前端:针对浏览器的开发,代码在浏览器运行后端:针对服务器的开发,代码在服务器运行2、前后端不分的时代互联网发展的早期,前后端开发是一体的,前端代码是后端代码的一部分。就比如使用HTML(5)、CSS(3)、JavaScript(ES5、ES6)来编写一个个的页面,然后......