vue父组件调用子组件中的方法显示未定义,
本文主要介绍了vue子组件命名不当的解决方案,具有很好的参考价值。希望对大家有帮助。如有错误或不足之处,请不吝赐教。
目录
子组件命名的引入未标准化。根据规范,请注意下面的vue组件名命名解释了如何自定义组件名。
引入子组件命名不规范错误
昨天在做一个省市县三级联动子组件,文件名是threelink.vue结果总是报错如下,但是用了各种方法还是报错了。当系统引入另一个组件fetch.vue时没有问题,但是这个组件总是报告以下错误。
未知的自定义元素:-您是否正确注册了组件?对于递归组件,请确保提供“名称”选项。
代码如下:
//threelink.vue代码是:
导出默认值{
名称:“Threelink”,
//将引用的文件导入为:
从“@/components/Xi you/Threelink/three link”导入three link
导出默认值{
组件:{ Threelink },
//在文件中用作:
El-col:span= 16 class= city-select
三链接:ad code= ad code /三链接
/el-col
经过反复检查,因为这个组件名是用2个字母导入的,而且因为VUE在不同地方对驼峰字符的要求不一样,所以导入的文件只能改成下面的才能使用。
从“@/components/Xi you/ThreeLink/three link”导入three link
导出默认值{
组件:{ ThreeLink },
根据规范注意以下
1.子组件的文件名都是小写的:threelink。
2.子组件导出名称的第一个字符大写:Threelink。
3.引入的组件的每个字符都应该大写:ThreeLink
4.组件,与第三个相同。
5.在使用它的地方,使用小写字符,用“-”分隔,三连字符
特此记录,此问题已尝试多次。
vue组件名称命名说明
在使用Vue定制组件的时候,我们需要给组件命名,也就是在注册一个组件的时候,我们总是需要给它一个名字。例如,在全球注册时,我们已经看到:
Vue.component(我的组件名称,{
/* .*/
})
组件名是Vue.component的第一个参数
组件的名称可能取决于它的用途。在DOM中直接使用组件时(而不是字符串模板或单文件组件),强烈建议遵循W3C规范中的自定义组件名称(字母全部小写,并且必须包含连字符)。这将帮助您避免与当前和未来的HTML元素发生冲突。
关于组件名称的其他建议可以在样式指南中找到。
自定义组件名方式
使用 kebab-case命名组件
当使用kebab-case(带破折号的小写字母)定义组件时,在引用这个定制元素时,也必须使用kebab-case,例如my-component-name。
例如:
Vue.component(我的组件名称,{
/* .*/
})
使用 PascalCase命名组件
Vue.component(MyComponentName ,{
/* .*/
})
使用PascalCase(首字母大写命名)定义组件时,在引用该自定义元素时,可以使用这两种命名方法。也就是说,my-component-name和MyComponentName都是可以接受的。
注意,尽管如此,只有kebab-case在DOM中直接使用时才有效(即,不是字符串的模板)。驼峰法名称无效。例如,以下引用的组件无效:
div id=应用程序
Class= my 父组件本身/div
!-调用子组件时ChildComponent无效,它必须是kebab-case-
子组件/子组件
!-
子组件在调用子组件时有效,
定义组件时,可以用kebab-case或PascalCase来命名它们。
-
子组件/子组件
/div
以上个人经历,希望能给大家一个参考,也希望大家多多支持我们。
郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。