首页 > 分享 > vue根目录下的index.html中的id=“app”与src目录下的App.vue中的id=“app”为什么不会冲突

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

具体描述 在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.htmlvue-cli构的项目结构中默认的主渲染页面文件我们先来了解一下src/main.js中template的作用
一个字符串模板作为 Vue 实例的标识使用。模板将会替换挂载的元素。挂载元素的内容都将被忽略,除非模板的内容有分发插槽下面代码中的’ template: < App/> ‘指代引入的App组件,用来取代index.html中idappdiv层及其内容,反过来说,最初el挂载的idapp的节点指的是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 } })1234567891011121314 结论 index.html中的< div id=”app”>是指定绑定元素根路径的App.vue< div id=”app”>则是用于具体注入绑定元素的内容由于Vue组件必须有个根元素,所以App.vue里面,根元素< div id=”app”>与外层被注入框架index.html中的< div id=”app”>是一致的index.html中的#app指定绑定目标,而vue文件里的#app提供填充内容,两者在运行时指的是同一个DOM元素

相关知识

古代花卉雅称如何影响现代ID创造?
基于APP/小程序的房屋租赁出租平台
oracle not in (1,3,null)等价于id!=1 and id!=3 and id!=null,NULL与其他值做=或!=比较结果都是UNKNOWN,所以最终没有查出数据
基于微信小程序的校园二手闲置物品交易平台的设计与实现
基于springboot的“花开富贵”花园管理系统java项目
基于微信小程序的房屋租赁管理系统设计与实现(源码+论文+部署讲解等)
基于uniapp微信小程序的摄影街拍圈子交流平台
基于SpringBoot的网上花卉鲜花销售购物系统+Vue[毕业设计]
贺公子之数据科学与艺术
网上花店设计+vue毕业设计(源码+lw+部署文档+讲解等)

网址: vue根目录下的index.html中的id=“app”与src目录下的App.vue中的id=“app”为什么不会冲突 https://m.huajiangbk.com/newsview382399.html

所属分类:花卉
上一篇: 阳台养花,轻松将阳台打造成花房,
下一篇: 农村的这种花你认识吗,功效非常好