Vuejs2 Vue组件名称必须为小写?

Vuejs2 Vue组件名称必须为小写?,vuejs2,Vuejs2,我试图在视图文件中使用组件。下面的方法不起作用 当我尝试使用 如果我将其更改为: const app = new Vue({ el: '#rewards-app', components: { 'campaign-create': CampaignCreate, } }); 我可以将组件作为安装到视图文件中,而不会出现问题。我试图理解这背后的原因。我目前使用的是vuejs 2.x,简而言之,这是因为HTML不区分大小写。2年前,Evan You亲自在Vue

我试图在视图文件中使用组件。下面的方法不起作用 当我尝试使用

如果我将其更改为:

const app = new Vue({
    el: '#rewards-app',
    components: {
       'campaign-create': CampaignCreate,
    }
});

我可以将组件作为
安装到视图文件中,而不会出现问题。我试图理解这背后的原因。我目前使用的是vuejs 2.x,简而言之,这是因为HTML不区分大小写。2年前,Evan You亲自在VueJS tracker中开设了一个网站,理由如下:

众所周知,HTML是不区分大小写的<代码>myProp=“123”被解析 正如
myprop=“123”
一样,这导致了Vue.js中的警告,其中 必须使用
my prop=“123”
将JavaScript中声明的道具称为
myProp
。这经常会咬初学者

这一问题最终以决定保持不变而告终。这里有一句很有说服力的话:

本质上,这个问题的存在是因为js和html是不同的 技术和使用不同的命名系统。并使用相同的 这两种技术的案例(烤羊肉串或骆驼肉)将从 从一个地方到另一个地方,但潜在的问题将持续存在,所以我 相信,我们能做的最好的事情就是划一条线。和当前行,即。 html上下文中的kebab case和js中的camelCase(和PascalCase) 背景很好


感谢@raina77ow,这就解释了这一点。这也是因为本地自定义元素必须命名为全小写并包含破折号。是的,继续@raina77ow好吗?这类东西应该放在Vue JS的头版…,引用,加框,突出显示!达克斯。。。我在这件事上浪费了1.5小时。
const app = new Vue({
    el: '#rewards-app',
    components: {
       'campaign-create': CampaignCreate,
    }
});