vue根目录下的index.html中的id="app"与src目录下的App.vue中的id="app"为什么不会冲突

Java前端Vue-2(快速入门) 前端开发模式的发展 静态页面 最初的网页以HTML为主,是纯静态的网页。网页是只读的,信息流只能从服务的到客户端单向流通。开发人员也只关心页面的样式和内容即可。 异步刷新,操作DOM 1995年,网景工程师Brendan Eich 花了10天时间设计了JavaScript语言,随着JavaScript的诞生,我们可以操作页面的DOM元素及样式,页面有了一些动态的效果,但是依然是以静态为主。 ajax盛行:2005年开始,ajax逐渐被前端开发人员所重视,因为不用刷新页面就可以更新页面的数据和渲染效果。此时的 阅读详情

具体描述

  • 在vue的项目开发中,我们通过vue-cli生成的项目结构中默认有index.html的文件作为默认的渲染主页文件它的外层div有id=”app”,而在项目的src目录中主组件App.vue中它的外层div也有id=”app”,两者在渲染时为什么不会冲突?

相关探讨

  • 我们先来了解一下vue项目中main.js、App.vue、index.html间的关系
    • main.js是入口文件,主要作用是初始化vue实例并使用需要的插件
    • App.vue是我们的主组件,所有的页面都是在App.vue下进行切换的;也可以认为所有的路由也是App.vue的子组件
    • index.html是vue-cli构的项目结构中默认的主渲染页面文件
  • 我们先来了解一下src/main.js中template的作用
    • 一个字符串模板作为 Vue 实例的标识使用。模板将会替换挂载的元素。挂载元素的内容都将被忽略,除非模板的内容有分发插槽
    • 下面代码中的’ template: < App/> ‘指代引入的App组件,用来取代index.html中id为app的div层及其内容,反过来说,最初el挂载的id为app的节点指的是index.html的节点而不是app.vue的,只是后来由于template而被主组件App.vue的内容所取代了而已

            import Vue from 'vue'
            import App from './App'
            import router from './router'

            Vue.config.productionTip = false

            /* eslint-disable no-new */
            new Vue({
              el: '#app',
              router,
              template: '<App/>',
              components: { App }
            })

结论

  1. index.html中的< div id=”app”>是指定绑定元素根路径的
  2. App.vue的< div id=”app”>则是用于具体注入绑定元素的内容
  3. 由于Vue组件必须有个根元素,所以App.vue里面,根元素< div id=”app”>与外层被注入框架index.html中的< div id=”app”>是一致的
  4. index.html中的#app指定绑定目标,而vue文件里的#app提供填充内容,两者在运行时指的是同一个DOM元素
Vue项目集成Bootstrap 4的正确姿势:告别jQuery冲突 Bootstrap 4 是一套基于 CSS 类名和 jQuery 插件的前端框架,其命令式 DOM 操作机制与 Vue 的声明式响应式系统存在根本性冲突——直接引入 bootstrap.js 会导致 v-model 失效、事件丢失、内存泄漏等问题。核心原理在于 Vue 通过虚拟 DOM Diff 重建真实 DOM,而 Bootstrap 插件依赖静态 DOM 引用和 jQuery 事件绑定,二者运行时环境不兼容。技术价值体现在解耦 UI 表现与状态逻辑,保障可维护性与升级稳定性。典型应用场景包括政企级管理后 阅读详情

相关推荐

Vue CLI vue create实战指南:从初始化到生产部署

单页应用(SPA)是现代前端开发的核心交付形态,其工程化落地高度依赖脚手架工具的可靠性与可扩展性。Vue CLI 作为 Vue.js 官方推荐的构建服务层,通过 vue create 命令将 webpack/Vite 配置、插件生态、开发服务器等复杂能力封装为开箱即用的标准化流程。它不仅解决项目初始化问题,更在 TypeScript 支持、路由集成、状态管理选型(如 Pinia)、ESLint 规范、构建优化(Tree-shaking、代码分割)等关键环节提供经生产验证的默认策略。本文聚焦 vue crea

weixin_34138056的博客 346

vue根目录下index.html中的id=“app“与src目录下的App.vue中的id=“app“的关系

vue根目录下index.html中的id="app"与src目录下的App.vue中的id="app"的关系   1) index.html中的<div id="app"></div>是指定绑定元素根路径的   2) App.vue的<div id="app"></div>则是用于具体注入绑定元素的内容   3) 由于Vue组件必须有个根元素,所以App.vue里面,根元素<div id="app"></div>与外层被注入框架in

atu1111的博客 3866

Vue模板语法实战:手写响应式照片画廊

Vue模板语法是前端实现声明式UI的核心基础,其本质是通过数据绑定(如v-bind)、列表渲染(v-for)和事件处理(@click)构建响应式视图。它屏蔽了繁琐的DOM操作,让开发者聚焦于数据与状态逻辑,显著提升开发效率与可维护性。在图片画廊等典型交互场景中,合理运用v-for渲染缩略图、v-show控制大图显隐、:src动态绑定路径,配合key优化和懒加载(loading='lazy'),可在零配置环境下快速交付高性能应用。本文以真实可运行的图库项目为载体,深入解析Vue 2/3基础指令的工程化落地细节

weixin_34318272的博客 375

VUE前端

使用VUE开发的时候,不需要js直接操作html的DOM元素元素,只需要管理js的变量值,html会自动更新这些值(双向绑定)。少量语句就可以实现原始方式大量编码才能实现的功能。index.html 里面就一个元素,表示本html绑定了一个id为app的VUE对象。body的app关联SRC/App.vue. <!DOCTYPE html> <html> <head> <m...

MXYang_ing的博客 1001

Vue项目从零启动:环境配置、依赖安装与开发服务器搭建全攻略

在现代前端开发中,项目启动是开发者接触新代码库的首要环节,它涉及从环境配置到应用运行的全链路工作流。其核心原理在于,前端项目通常依赖于Node.js运行时和npm、yarn或pnpm等包管理工具来管理第三方库和构建脚本。掌握这一流程的技术价值在于,它能确保开发环境的一致性,高效解析项目依赖,并启动一个具备热重载功能的开发服务器,从而为后续的组件开发和功能迭代奠定坚实基础。这一技能的应用场景广泛,无论是接手遗留系统、参与团队协作,还是从零搭建个人项目,都是不可或缺的实操步骤。本文将以Vue技术栈为例,结合pa

weixin_34323858的博客 391

预处理详解(三)—— 命令行定义 + 条件编译 + 文件包含

文章目录前言 前言

2021dragon的博客 2189

vue笔记

Vue笔记 一、基本语法示例 <body> <div id="app"> <h1>{{msg}}</h1><!-- 用插值表达式{{}}将data中的数据显示到dom中 --> </div> <script type="text/javascript" src="js/vue.js"> </script> <script> //新建vue对象 var vm=new Vue({ el:

yy1293516898的博客 927

车辆横向控制MPC实战:从‘老王模型’到CasADi求解的保姆级避坑指南

本文详细解析了车辆横向控制MPC的实战应用,从经典动力学模型选择到CasADi求解器的优化配置,提供了一套完整的避坑指南。重点介绍了车辆动力学模型的验证要点、CasADi环境的高效配置技巧以及MPC问题建模的核心要素,帮助开发者快速实现稳健的横向控制方案。

weixin_42524499的博客 346

初识Vue

.....................

m0_60160405的博客 415

科研绘图实战:用Adobe Illustrator高效排版期刊论文图片

本文详细介绍了使用Adobe Illustrator高效排版科研论文图片的完整工作流。针对期刊投稿常见的图片格式问题,文章重点讲解了矢量图与位图的预处理、AI中的精准对齐与分布技巧、文字样式统一管理以及最终输出TIFF/PDF等符合出版要求的格式。掌握这套方法能确保图片满足高分辨率、规范字体和精确尺寸等期刊硬性标准,显著提升投稿效率。

tomato的博客 1439

CREO图文教程:三维设计案例之矿泉水瓶实例图文教程之详细攻略

草绘,先绘制中心线,绘制底部宽度;对称标注:点击左端点,中心线,左端点,中键即可标注;给定高度;样条曲线绘制外形(双击样条曲线,点击下栏的控制模式(第一个按钮),再拉动控制样条曲线上的各个点)打勾即可得到三维实体。......

走向CTO之路 1935

vue项目根目录下index.html中的id=“app“,与src目录下的App.vue中的id=“app“为什么不会冲突

使用cli构建项目后,在根目录下有个index.html文件,其中有一行代码为: // index.html <body> <div id="app"></div> <!-- built files will be auto injected --> </body> 而src目录下的App.vue中也有id="app"的代码 // APP.vue <template> <div id="app">

独斟灬此夜的博客 1427

SI案例分享--PCB通孔互连新技术的应用(VeCS)

本文介绍了VeCS的物理结构和制造过程,并通过全波仿真模拟和测量,分析了VeCS的电性能,并与传统的测量方法进行了比较。结果表明,由于有一个连续的参考平面,VeCS的TDR阻抗可以很容易地控制到目标阻抗,同时可以大大减轻信道上的串扰,的确是一种性能不错的PCB互连创新设计方案。

一只豌豆象的博客 2116

vue项目根目录下index.html中的id="app",与src目录下的App.vue中的id="app"为什么不会冲突

使用cli构建项目后,在根目录下有个index.html文件,其中有一行代码为: // index.html body> div id="app">div> body> 而src目录下的App.vue中也有id="app"的代码 // APP.vue div id="app"> h1 class="title">头部h1> router-view

QC班长的博客 1万+

AI上推荐 之 协同过滤

㐇

Miracle8070 1万+

【优化求解】基于matlab粒子群算法PSO确定最佳开关角对称级联多层逆变器【含Matlab源码 13080期】

粒子群算法PSO确定最佳开关角对称级联多层逆变器 完整代码,包运行;可提供运行操作视频!适合小白!

订阅付费专栏Matlab(奶茶价版),可赠送奶茶价版付费专栏指定代码1份; 97

vue项目根目录下index.html中的id="app",与src目录下的App.vue中的id="app"为什么不会冲突...

感谢:https://blog.csdn.net/qq_35624642/article/details/78243413 index.html <body> <div id="app"></div> <!-- built files will be auto injected --> </body> ...

weixin_30674525的博客 404

2026年OPPO嵌入式岗位面试题带详细答案

本文总结了OPPO嵌入式岗位面试的核心考点,涵盖硬件驱动、系统启动、Linux内核开发等7大模块共34道典型题目。重点解析了SPI通信协议、中断处理、U-Boot启动流程、Linux驱动开发等关键技术,突出硬件调试与工程实践能力考核。题目设置贴合实际岗位需求,适合校招与社招驱动开发岗位应聘者系统复习,帮助掌握嵌入式开发的核心知识与面试要点。

Open 491

Vue脚手架(vue-cli)搭建和目录结构详解(一)

一、环境搭建   1、安装node、npm、webpack   2、安装vue-cli脚手架构建工具,打开命令行工具输入:npm install vue-cli -g,安装完成之后输入 vue -V(注意这里是大写的“V”),如果出现相应的版本号,则说明安装成功。 二、用vue-cli来构建项目   1、在硬盘上找一个文件夹放工程用的。这里有两种方式指定到相关目录:(1)cd 目录路径 (2)如果以安装git的,在相关目录右键选择Git Bash Here 2、安装vue脚手架输入:vue init web

yshir 575

霍尼韦尔SoftMaster使用说明

霍尼韦尔SoftMaster使用说明

WINCC7.3破解文件

WINCC7.3硬件够破解文件,有需要的下载!WINCC7.3硬件够破解文件,有需要的下载!

Vue-cli 2.x项目结构解析与最佳实践指南

前端工程化中,项目目录结构设计直接影响开发效率和可维护性。以Vue-cli 2.x生成的Webpack项目为例,其核心架构遵循现代前端工程规范,通过build目录实现多环境构建配置,config目录管理环境变量,src目录采用组件化开发模式。理解这种标准结构对掌握Vue项目脚手架原理至关重要,特别是在处理静态资源加载、路由懒加载和状态管理等高频开发场景时。本文基于vue-cli 2.x的实战经验,详解如何通过webpack配置优化构建流程,利用ESLint规范代码风格,并分享大型项目中模块化拆分和API层抽

weixin_33806914的博客 367

汉书HE8,好用的汇编代码编写工具

汉书HE8,好用的汇编代码编写工具早期编写汇编代码所用功能强大

Vue使用命令行CLI脚手架搭建项目后的文件和文件夹等资源的解释

Vue CLI 脚手架 脚手架是通过webpack搭建的开发环境 使用ES6语法 打包和压缩JS为一个文件 项目文件再环境中编译,而不是浏览器 实现页面自动刷新 src文件夹 assets文件夹用来存放照片 components文件夹用来存放组件 文件介绍 index.html—>main.js–>App.vue 入口文件 执行 main.js , main.js会实例化一个vue对象,然后就会执行App.Vue组件 进入App.Vue后,如果模板<template>里有

影龙武的博客qq_43594119 625

复分析 阿尔福斯(Ahlfors) 第三版答案 英文

答案分为十章,有部分习题没有答案,全英文复分析阿尔福斯(Ahlfors) 第三版答案

Vite多入口配置实战:Vue3项目架构与路由管理指南

在现代前端工程化实践中,构建工具的多入口配置是管理复杂项目架构的关键技术。其核心原理是通过配置构建工具的入口选项,将多个独立的HTML页面作为独立入口进行打包,实现资源的物理隔离和独立部署。这项技术的核心价值在于能够将不同功能模块解耦,支持混合应用架构(MPA与SPA并存),显著提升大型项目的可维护性和部署灵活性。在Vue3技术栈中,结合Vite构建工具,开发者可以高效实现多入口配置,并为每个入口独立配置Vue Router路由系统。本文聚焦Vite多入口配置的工程实践,详细解析如何通过rollupOpti

weixin_33670713的博客 534

vue-cli之项目结构(三)

一、总体框架一个vue-cli的项目结构如下,其中src文件夹是需要掌握,其余了解即可。文件夹目录如下:每个文件夹目录详细说明如下:二、配置目录文件讲解1、build目录(webpack配置)build文件主要是webpack的配置,目录详情如下:2、config目录(vue项目配置目录)config文件主要是项目相关配置,常用的就是当端口冲突时配置监听端口,打包输出路径及命...

weixin_34138255的博客 149

Vue教程1-创建项目

创建项目 Vue创建项目使用脚手架vue-cli更为简洁方便。 Vue-cli vue-cli是官方为开发者设计的用于创建项目的一款脚手架,可以帮助用户自动集成各种开发环境、依赖配置等。 安装脚手架 首先,Vue的搭建是要建立在JS的编程基础,因此需要在电脑中全局安装Node.js(去官网便可以安装)。 安装成功后,在命令行中输入: npm -v 便可查看安装的Node版本,同时npm是Node开发中的一个命令,通过npm便可以进行各种依赖的安装。 之后通过npm便可以全局安装vue-cli。 npm

ruby___ruby的博客 327

【前端开发】VSCode + HBuilderX 一站式指南:用 Vue 3 高效开发 uni-app 跨端应用

如果遇到了“需转换的文件”的提示,通常是因为项目结构不标准,或 HBuilderX 的编译器版本与项目不匹配。:通过命令行工具,在 VSCode 中直接创建一个标准的 uni-app 项目模板,而非使用 HBuilderX 的可视化界面。完成配置后,即可利用 DCloud 的云端服务器进行打包,这是最快捷的方式,无需在本地配置复杂的 Android 或 iOS 开发环境。导入后,你可以在 HBuilderX 中配置 App 的图标、权限等,但最关键的。这样做可以避免因项目结构差异导致的识别问题。

tutu619的博客 447

6KB超轻量级Vue框架:Petite Vue完整指南与实战应用

在当今前端开发领域,性能优化和渐进式增强已成为构建现代Web应用的关键考量。如果你正在寻找一个既轻量又功能强大的JavaScript框架来增强现有网页的交互性,那么**Petite Vue**无疑是你的理想选择。这个仅6KB的超轻量级Vue框架子集,专为渐进式增强而设计,让你能够在不重构整个应用的情况下,为静态页面添加动态交互功能。 ## 🚀 为什么选择Petite Vue?三大核心优势 *

gitblog_00730的博客 778
上一篇: 如何制作图标字体(如何将svg转换为css可用的图标字体)
下一篇: 如何在Vue项目中正确的引入JQuery
RotatingBlock
博客等级 码龄10年 16粉丝 11原创
评论 3
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值