当前位置: 首页 > news >正文

Vue3基础:挂载事例方法.mount()是什么?根组件模板又是什么?

.mount()

<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>Vue 3 演示</title>
</head>
<body><!-- 这里是我们将要挂载 Vue 应用的地方 --><div id="app"></div><!-- 引入 Vue 3--><script src="https://cdn.jsdelivr.net/npm/vue@3.2.7"></script><!-- 引入我们的 Vue 3 应用代码 --><script src="app.js"></script>
</body>
</html>
  • app.js
// 创建一个 Vue 应用实例
const app = Vue.createApp({data() {return {message: "Hello, Vue 3!"}}
})// 使用 .mount() 方法将应用挂载到 id 为 'app' 的元素上
app.mount('#app')

当我们在学习.mount() 方法时,你可以将其类比为将一张照片贴在画框上的过程。让我以这个类比来解释 .mount() 方法:
画框就是你的网页:想象你的网页就像一张空白的画框,这个画框是你的网页中的一个特定区域,比如一个空白的白板。
照片就是你的 Vue 应用:现在,你有一张精美的照片,这个照片就是你的 Vue 应用,包括所有的交互和展示内容。
贴照片到画框上:但是,这张照片不会自己显示在画框上,你需要手动将它贴到画框上。这个过程就是 .mount() 方法的作用。你告诉 Vue:“请把我的 Vue 应用(照片)贴在这个特定的网页区域(画框)上。”
实际上,.mount() 方法的参数是一个指向网页中特定区域的标识,可以是一个 DOM 元素或一个 CSS 选择器。Vue 应用会在这个特定区域内渲染并展示内容,就像把照片放在画框里一样。
所以,当你调用 .mount(‘#app’) 时,你就是在告诉 Vue:“请将我的 Vue 应用贴在 id 为 ‘app’ 的 HTML 元素上,让它在那里显示出来。”这样,你的 Vue 应用就会出现在网页上,用户可以与之交互,就像看到了一张精美的照片在画框上一样。

根组件模板

<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>Vue App</title>
</head>
<body><!-- 这里是你的根组件模板 --><div id="app"><button @click="count++">{{ count }}</button></div><!-- 引入 Vue 库 --><script src="https://cdn.jsdelivr.net/npm/vue@3.2.29/dist/vue.global.min.js"></script><script>// 创建 Vue 应用实例const app = Vue.createApp({data() {return {count: 0}}})// 将应用实例挂载到网页上的 #app 元素app.mount('#app')</script>
</body>
</html>

想象你有一张空白的纸,这张纸就像是你的网页,上面什么都没有。你想在这张纸上画一幅图,这幅图就是你的 Vue 应用。但是,你不知道怎么画,所以你决定在纸上勾勒出大致的轮廓,作为画的指南。

纸就是你的网页:这张空白的纸代表了你的网页,里面什么内容都没有。

画的轮廓就是根组件模板:在纸上勾勒出的轮廓就是你的 Vue 根组件的模板。这个模板告诉 Vue 应用在网页上的哪个位置应该显示什么内容,但它本身并没有真正的内容,就像画的轮廓并没有真正的颜色和细节。

所以,“DOM 中的根组件模板” 就是你在网页中直接写下的一些 HTML 结构,它们充当了 Vue 应用的模板,但不包含具体的数据或交互。这种方式适用于一些简单的应用,因为你可以在网页中直接定义模板,而不必依赖额外的 Vue 文件或构建步骤。Vue 会根据这些模板来渲染应用的内容,就像根据轮廓来填充画作的颜色和细节一样。

http://www.lryc.cn/news/286938.html

相关文章:

  • Unity 面试篇|(七)Unity渲染与Shader篇 【全面总结 | 持续更新】
  • 记录一些多维数组的方法
  • Linux:gcc的相关知识
  • Linux的奇妙冒险———vim的用法和本地配置
  • 微信小程序底部按钮适配iPhoneX以上,显示遮挡问题
  • Qt容器QMap(映射)
  • AI时代的创新工具:如何利用AI生成独具个性的XMind思维导图?
  • 【每日一题】最长交替子数组
  • gin数据解析和绑定
  • TCP服务器最多支持多少客户端连接
  • UML类图学习
  • 死锁面试题详解
  • 【rust/bevy】使用points构造ConvexMesh
  • 【C语言】string.h——主要函数总结
  • 如何在前端优化中减少页面加载时间?
  • Typecho后台无法登录显示503 service unavailable问题及处理
  • Python入门(一)
  • 云表企业级无代码案例-自主开发ERP管理系统
  • Qt —— 编译Qt5版本QFTP库,并实现连接服务、获取列表、上传、下载、删除文件等操作(附源码、附基于Qt5编译好的QFTP库)
  • 碰到es6的...拓展运算符
  • JDK8新特性详解
  • ELK+Filebeat 部署实验
  • 利用wireshark lua扩展能力增加自定义解析器[注释解读版]
  • GPT-5不叫GPT-5?下一代模型会有哪些新功能?
  • 2024.1.23(347.前k个高频元素)
  • MySQL对数据库的操作
  • 解决Unity WebGLInput插件全屏输入的问题
  • Android14实战:调整A2DP音量曲线(五十三)
  • vector讲解
  • nvm 配置淘宝镜像失效,以及安装node后 npm-v 无效