首页 > 其他分享 >[Vue warn]: Do not use built-in or reserved HTML elements as component id: line

[Vue warn]: Do not use built-in or reserved HTML elements as component id: line

时间:2024-04-10 11:11:41浏览次数:28  
标签:Do use Vue component var HTML 组件 id

[Vue warn]: Do not use built-in or reserved HTML elements as component id: line

这个报错是 Vue 警告不要使用内置的或者保留的 HTML 元素作为组件的 id。在 Vue 中,组件的 id 应该是唯一的,并且不应该与 HTML 元素的标签名相同。

比如说,如果有一个组件定义如下:

<template>
  <div id="div">This is my component</div>
</template>

<script>
  export default {
    name: "MyComponent",
  };
</script>

在这个例子中,组件的 id 被设置为"div",这样做会引发 Vue 的警告,因为"div"是 HTML 的内置元素。应该避免使用类似于"div"、"span"、"p"等标签名作为组件的 id。

解决这个问题的方法是,确保给组件的 id 命名为不与 HTML 标签名冲突的唯一名称。例如:

<template>
  <div id="my-component">This is my component</div>
</template>

<script>
  export default {
    name: "MyComponent",
  };
</script>

在这个例子中,我将组件的 id 改为了"my-component",这样就不会与 HTML 中的标签名冲突了。

以下为 Vue 2.0 中 HTML 标签和 Vue 保留标签的范围

// 区分大小写
var isHTMLTag = makeMap(
  "html,body,base,head,link,meta,style,title," +
    "address,article,aside,footer,header,h1,h2,h3,h4,h5,h6,hgroup,nav,section," +
    "div,dd,dl,dt,figcaption,figure,hr,img,li,main,ol,p,pre,ul," +
    "a,b,abbr,bdi,bdo,br,cite,code,data,dfn,em,i,kbd,mark,q,rp,rt,rtc,ruby," +
    "s,samp,small,span,strong,sub,sup,time,u,var,wbr,area,audio,map,track,video," +
    "embed,object,param,source,canvas,script,noscript,del,ins," +
    "caption,col,colgroup,table,thead,tbody,td,th,tr," +
    "button,datalist,fieldset,form,input,label,legend,meter,optgroup,option," +
    "output,progress,select,textarea," +
    "details,dialog,menu,menuitem,summary," +
    "content,element,shadow,template"
);
// 不区分大小写
var isSVG = makeMap(
  "svg,animate,circle,clippath,cursor,defs,desc,ellipse,filter,font," +
    "font-face,g,glyph,image,line,marker,mask,missing-glyph,path,pattern," +
    "polygon,polyline,rect,switch,symbol,text,textpath,tspan,use,view",
  true
);
var isReservedTag = function (tag) {
  return isHTMLTag(tag) || isSVG(tag);
};
// 区分大小写
var isBuiltInTag = makeMap("slot,component", true);

标签:Do,use,Vue,component,var,HTML,组件,id
From: https://www.cnblogs.com/yuzhihui/p/18125594

相关文章

  • docker安装
    1,Ubuntu安装docker#更新ubuntu的apt源索引sudoapt-getupdate#安装包允许apt通过HTTPS使用仓库sudodpkg--configure-asudoapt-getinstallapt-transport-httpsca-certificatescurlsoftware-properties-common#1添加Docker官方GPGkey【这个是国外服务器地址,所......
  • 基于Springboot+Vue的Java项目-月度员工绩效考核管理系统(附演示视频+源码+LW)
    大家好!我是程序员一帆,感谢您阅读本文,欢迎一键三连哦。......
  • Seurat Dimplot, Vlnplot画图时报错,Error in setup_panel_guides(..., self = self) :
    SeuratDimplot,Vlnplot画图时报错,Errorinsetup_panel_guides(...,self=self):unusedargument(list(~features.plot,~id))pdf(paste0("EBV_GaC","_Marker_genes_Vln.png"),width=30,height=10)>DotPlot(object=subset_cells,featur......
  • windows MYSQL解决中文乱码问题
    windowsMYSQL解决中文乱码问题1.首先确保你已经把mysql配置了环境变量2.打开window终端3.输入mysql-uroot-p4.输入密码,就是安装的时候设置的root超级管理员权限密码5.输入:SHOWVARIABLESLIKE‘character%’; 出现上图,说明就会出现中文乱码问题。6.该怎么办呢,接......
  • VS Code 中设置 Markdown 粘贴图片的位置
    1.在VSCode中,按下Ctrl+,,打开设置界面。2.在搜索框中输入markdown.copy,找到Markdown>CopyFiles:Destination3. 新增配置项key为"**/*.md",value为你的目标路径。比如我想将图片放在assets 目录下markdown文件同名的目录下,那么我就可以设置为 assets/${docu......
  • 探索数据背后的强劲引擎MySQL(1):Windows安装MySQL
    该文章Github地址:https://github.com/AntonyCheng/mysql-notes【有条件的情况下推荐直接访问GitHub以获取最新的代码更新】在此介绍一下作者开源的SpringBoot项目初始化模板(Github仓库地址:https://github.com/AntonyCheng/spring-boot-init-template【有条件的情况下推荐......
  • Markdown学习
    MarkDown学习目录文章目录MarkDown学习目录标题一级标题(#)二级标题(##)三级标题(###)四级标题(####)五级标题(#####)六级标题(######)字体表情符号引用分割线图片超链接列表有序列表无序列表无序列表的缩进任务列表表格对齐方式注脚注脚的创建注脚的解释代码格式:[toc]......
  • 基于java+springboot+vue实现的农产品智慧物流系统(文末源码+Lw)23-239
    摘 要互联网发展至今,无论是其理论还是技术都已经成熟,而且它广泛参与在社会中的方方面面。它让信息都可以通过网络传播,搭配信息管理工具可以很好地为人们提供服务。针对信息管理混乱,出错率高,信息安全性差,劳动强度大,费时费力等问题,采用农产品智慧物流系统可以有效管理,使信息管......
  • 基于java+springboot+vue实现的人事管理系统(文末源码+Lw)23-242
    摘 要使用旧方法对人事管理系统的信息进行系统化管理已经不再让人们信赖了,把现在的网络信息技术运用在人事管理系统的管理上面可以解决许多信息管理上面的难题,比如处理数据时间很长,数据存在错误不能及时纠正等问题。这次开发的人事管理系统对字典管理、公告管理、绩效管理、......
  • docker安装emqx
    1.端口介绍1883MQTT/TCP协议端口11883MQTT/TCP协议内部端口,仅用于本机客户端连接8883MQTT/SSL协议端口8081management/HTTP/S协议端口8083MQTT/WS协议端口8084MQTT/WSS协议端口2拉取镜像dockerpullemqx/emqx:v4.0.03.启动临时容器dockerrun-itd--name......