vue父组件调用子组件中的方法显示未定义,

  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的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。

留言与评论(共有 条评论)
   
验证码: