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

【Vue】03 Vue技术——Vue.js 入门学习笔记:Hello World 案例详解

文章目录

    • 🌟 示例代码回顾
    • 🔍 一、Vue 模板调用的过程详解
      • ✅ 步骤 1:引入 Vue 库
      • ✅ 步骤 2:准备一个 DOM 容器(`el`)
      • ✅ 步骤 3:创建 Vue 实例并挂载
        • 🔹 解析 `new Vue({})`
        • 🔹 数据绑定过程(插值语法)
      • ✅ 步骤 4:Vue 的响应式系统生效
    • 🧱 二、容器(`el`)的两个核心作用
      • ✅ 作用 1:**作为 Vue 实例的“服务范围”**
      • ✅ 作用 2:**承载 Vue 模板(Template)**
    • 📌 三、为什么外部的 `大小{{name}}` 没有被渲染?
      • ❓ 原因分析:
    • 🛠 四、其他重要细节说明
      • 1. `Vue.config.productionTip = false`
      • 2. `data` 的作用与限制
      • 3. 插值语法 `{{ }}` 的局限性
    • ✅ 总结:Vue Hello 案例完整流程图
    • 🎯 学习收获总结
    • 🚀 下一步建议
    • 📚 结语

在学习 Vue.js 的过程中,第一个经典案例就是“Hello, Vue!”。本文将基于一个完整的 HTML 页面示例,详细讲解Vue 实例的创建流程、模板调用机制、容器的作用以及数据绑定原理,帮助初学者全面理解 Vue 的基本工作方式。


🌟 示例代码回顾

<!DOCTYPEhtml><html><head><metacharset="UTF-8"/><title>初识Vue</title><!-- 引入Vue --><scripttype="text/javascript"src="../js/vue.js"></script></head><body><!-- 初识Vue: 1. 想使用Vue.js,就必须创建一个Vue实例,且要传入一个配置对象; 2. root容器里的代码依然符合html规范,只不过混入了一些特殊的Vue语法; 3. root容器里的代码被称为【Vue模板】。 --><!-- 准备好一个容器--><divid="root"><h1>Hello, {{name}}</h1><h1>我的年龄是,{{age}}</h1></div><h2>大小{{name}}</h2><scripttype="text/javascript">// 关闭生产环境提示Vue.config.productionTip=false// 阻止 vue 在启动时生成生产提示。// 创建Vue实例newVue({el:'#root',data:{name:'张三123',age:23}})</script></body></html>

运行结果如下:

Hello, 张三123 我的年龄是, 23 大小{{name}}


🔍 一、Vue 模板调用的过程详解

Vue 的核心思想是“声明式渲染”,即通过模板(Template)与数据(Data)的绑定来实现视图自动更新。下面我们分步骤解析Vue 模板是如何被调用和渲染的

✅ 步骤 1:引入 Vue 库

<scripttype="text/javascript"src="../js/vue.js"></script>
  • 这行代码从本地路径加载了 Vue.js 文件。
  • Vue 必须先被引入,才能在页面中使用new Vue()创建实例。

⚠️ 注意:现代项目通常使用 CDN 或构建工具(如 Vite/webpack),但此处为入门教学,使用本地文件。


✅ 步骤 2:准备一个 DOM 容器(el

<divid="root"><h1>Hello, {{name}}</h1><h1>我的年龄是,{{age}}</h1></div>
  • <div id="root">是 Vue 所控制的“根容器”。
  • 它的 ID 为root,后续 Vue 实例会通过el: '#root'来绑定这个元素。

💡 “root” 容器的作用将在下文详述。


✅ 步骤 3:创建 Vue 实例并挂载

newVue({el:'#root',data:{name:'张三123',age:23}})
🔹 解析new Vue({})
  • new Vue():创建一个新的 Vue 实例。
  • el: '#root':指定 Vue 实例要接管哪个 DOM 元素(这里是id="root"的 div)。
  • data: { ... }:定义响应式数据,这些数据可以在模板中使用。
🔹 数据绑定过程(插值语法)

在模板中使用双大括号{{ }}表达式:

<h1>Hello, {{name}}</h1>
  • Vue 会在初始化时扫描#root内的所有{{ }}表达式。
  • 查找data中是否存在对应的属性(如name)。
  • 如果存在,则将该属性的值插入到对应位置。
  • 最终渲染为:<h1>Hello, 张三123</h1>

✅ 这个过程称为插值表达式渲染,是 Vue 模板最基础的语法之一。


✅ 步骤 4:Vue 的响应式系统生效

data中的数据发生变化时(例如name = '李四'),Vue 会自动重新渲染模板中所有依赖该数据的部分。

🔄 响应式机制确保了“数据驱动视图”的特性。


🧱 二、容器(el)的两个核心作用

在 Vue 中,el指定的容器(如本例中的#root)具有以下两个关键作用:


✅ 作用 1:作为 Vue 实例的“服务范围”

  • Vue 实例只会管理el所指向的容器及其子元素。
  • 只有在这个容器内的内容,才能使用 Vue 的数据绑定、指令等特性。

✅ 示例说明:

<divid="root"><h1>{{name}}</h1><!-- ✅ 可以访问 data 中的 name --></div><h2>大小{{name}}</h2><!-- ❌ 不在 #root 内,无法响应式渲染 -->

🎯 结果:只有#root内的{{name}}被替换为“张三123”,而外部的大小{{name}}仍保持原样(未被解析)。

✅ 所以,容器决定了 Vue 的作用域


✅ 作用 2:承载 Vue 模板(Template)

  • 容器内部的 HTML 代码被称为Vue 模板
  • 模板必须符合标准 HTML 规范,但可以混入 Vue 特有的语法(如{{ }}v-ifv-for等)。
  • Vue 会编译并解析模板中的特殊语法,将其转换为真实的 DOM。

💡 术语解释:

  • Vue 模板:包含 Vue 语法的 HTML 片段。
  • 模板编译:Vue 将模板转化为虚拟 DOM 并进行渲染。

📌 三、为什么外部的大小{{name}}没有被渲染?

这是很多初学者容易困惑的问题。

❓ 原因分析:

<h2>大小{{name}}</h2>
  • 这个标签不在#root容器内
  • 因此,它不属于当前 Vue 实例的管理范围。
  • Vue 不会扫描或处理其内部的{{name}}
  • 浏览器会直接将其当作普通文本输出,不会做任何替换。

✅ 结论:只有在el指定的容器内的模板才会被 Vue 处理。


🛠 四、其他重要细节说明

1.Vue.config.productionTip = false

Vue.config.productionTip=false
  • 用于关闭 Vue 在开发环境下打印的提示信息(如:“You are running Vue in development mode…”)。
  • 生产环境中建议开启,但学习阶段可关闭以减少干扰。

2.data的作用与限制

data:{name:'张三123',age:23}
  • data中的数据是响应式的。
  • 只能在el指定的容器中使用。
  • 若想在外部使用,需通过事件、方法或全局状态管理(如 Vuex)实现。

3. 插值语法{{ }}的局限性

  • 仅支持表达式,不能写语句。
  • 例如:{{ if (name) { return 'yes' } }}是非法的。
  • 支持简单的运算、函数调用等。

✅ 总结:Vue Hello 案例完整流程图

1. 引入 Vue.js → 加载框架 2. 定义容器 <div id="root"> → 提供渲染区域 3. 创建 Vue 实例 → new Vue({}) ├── el: '#root' → 绑定容器 └── data: { name, age } → 定义数据 4. Vue 扫描模板 → 解析 {{name}}, {{age}} 5. 数据绑定 → 渲染最终 HTML 6. 响应式监听 → 数据变化 → 自动更新视图

🎯 学习收获总结

学习点说明
✅ Vue 实例使用new Vue()创建,必须传入配置对象
✅ 模板el指定的容器内,HTML + Vue 语法构成模板
✅ 数据绑定使用{{ }}实现数据插值
✅ 容器作用限定 Vue 管理范围,承载模板
✅ 响应式数据变化 → 视图自动更新

🚀 下一步建议

  • 尝试修改data中的值,观察页面是否自动更新。
  • 添加更多数据(如sex,job)并显示在模板中。
  • 学习使用v-bindv-model指令增强交互能力。
  • 探索组件化开发,将模板拆分为独立组件。

📚 结语

通过这个简单的“Hello Vue”案例,我们不仅掌握了 Vue 的基本结构,更深入理解了模板调用机制容器的核心作用。这正是 Vue.js 优雅之处:简洁的语法,强大的响应式系统,清晰的职责划分

继续深入学习,你将逐步掌握 Vue 的高级特性,构建出功能丰富、用户体验优秀的前端应用!


http://www.cnnetsun.cn/news/100081.html

相关文章:

  • 边缘Agent的Docker监控实践(资源利用率提升90%的秘密)
  • 揭秘Docker Scout漏洞导出功能:如何快速获取镜像安全报告
  • 【云原生Agent资源调度实战】:Docker环境下高效分配CPU与内存的5大黄金法则
  • 增长有毒?流血三闯港股!希迪智驾带病叩钟:115亿市值撑得住“白条狂欢”吗?
  • 多模态Agent性能骤降?可能是Docker网络隔离没做好(附诊断清单)
  • 为什么你的Docker镜像总被攻破?:可能是扫描频率设置错了
  • 背胶条分类识别:基于计算机视觉的修复状态差异检测与质量评估系统
  • 【新】基于SSM的高校实验室管理系统【包括源码+文档+调试】
  • Python 爬虫实战:沪深 300 股票(下)—— 适当进阶!爬取往期批量数据
  • 超声波传感器:无人机低空飞行的“隐形守护者”
  • 我的服务器被被DDOS攻击了
  • Docker MCP 网关协议转换(企业级应用案例深度剖析)
  • 【编程实践】Windows + PySide6 + Matplotlib 绘图时 WinError 32 的完整排查与解决方案
  • 手把手教你实现生产者-消费者模型(条件变量版)
  • Tool-to-Agent_Retrieval:连接工具与智能体的统一检索框架,让大模型多智能体系统更高效
  • 【Matlab】matlab代码实现随机潮流计算
  • 【Agent服务Docker隔离实战】:20年专家揭秘高效环境隔离的5大核心策略
  • WVP-GB28181-Pro视频监控平台实战部署:企业级解决方案深度解析
  • 揭秘机器视觉环形光源:95%的检测难题迎刃而解!
  • 计算机毕设java的水果销售系统 基于Java的水果销售管理系统设计与实现 Java技术驱动的水果销售信息化平台开发
  • 项目的时间线项目从启动到这周 大概是5周的时间10/28-10/31 Week 1项目初始化/需求讨论/设计文档/后端next.js, typescript技术熟悉 项目运行/调试基
  • Vercel AI SDK部署失败?你可能忽略了这4个Docker版本陷阱
  • TabPFN完整指南:如何用AI模型彻底改变表格数据预测
  • Docker Offload任务状态管理深度解析(专家20年实战经验曝光)
  • 企业Agent的Docker安全扫描实战(从0到1构建自动化扫描体系)
  • 10、Linux 文件操作与管理技巧
  • 勒索软件应急响应实战手册:全流程防护与前瞻应对指南
  • 谷歌关停暗网监控工具:2026年安全防护迎来“精准化”转型
  • Pearcleaner Homebrew管理:3步告别复杂命令行操作
  • 用 XinServer 后端平台开发,项目上线只需几天