我正在尝试在视图文件中使用组件。以下不起作用
当我尝试使用<CampaignCreate></CampaignCreate>
const app = new Vue({
el: '#rewards-app',
components: {
CampaignCreate,
}
});
如果我将其更改为:
const app = new Vue({
el: '#rewards-app',
components: {
'campaign-create': CampaignCreate,
}
});
我可以毫无问题地将组件作为<campaign-create></campaign-create>
挂载到我的视图文件中。我试图了解其背后的原因。我目前正在使用vuejs 2.x
答案 0 :(得分:3)
简而言之,这是因为HTML不区分大小写。两年前,Evan You本人在VueJS跟踪器中打开了a big discussion,其原因如下:
因此,众所周知,HTML不区分大小写。
myProp="123"
被解析 作为myprop="123"
,这导致了Vue.js中的警告, 必须使用my-prop="123"
来引用JavaScript中声明的prop为myProp
。这经常咬初学者。
该问题最终因决定保持原样而结束。这是一个有说服力的报价:
从本质上讲,存在问题是因为js和html不同 技术并使用不同的命名系统。并使用相同的 两种技术的情况(烤肉串或骆驼)都会使怪异感从 一个地方到另一个地方,但潜在的问题仍然存在,所以我 相信,我们所能做的就是画一条线。和当前行,即。 html上下文中的烤肉串案例和js中的camelCase(和PascalCase) 上下文非常好。