黄子涵

Prop 的大小写 (camelCase vs kebab-case)

HTML 中的 attribute 名是大小写不敏感的,所以浏览器会把所有大写字符解释为小写字符。这意味着当你使用 DOM 中的模板时,camelCase (驼峰命名法) 的 prop 名需要使用其等价的 kebab-case (短横线分隔命名) 命名:

Vue.component('blog-post', {
// 在 JavaScript 中是 camelCase 的
props: ['postTitle'],
template: '<h3>{{ postTitle }}</h3>'
})
<!-- 在 HTML 中是 kebab-case 的 -->
<blog-post post-title="hello!"></blog-post>
<!DOCTYPE html>
<html lang="zh">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Prop 的大小写 (camelCase vs kebab-case)</title>
<script src="./vue.js"></script>
</head>
<body>
<div id="hzh">
<hzh-component hzh-title="黄子涵"></hzh-component>
</div>
<script>
Vue.component('hzh-component', {
// 在 JavaScript 中是camelCase 的
props: ['hzhTitle'],
template: '<h3>{{ hzhTitle }}</h3>'
})
new Vue({
el: '#hzh'
});
</script>
</body>
</html>

image

重申一次,如果你使用字符串模板,那么这个限制就不存在了。

posted @   黄子涵  阅读(67)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 全程不用写代码,我用AI程序员写了一个飞机大战
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 记一次.NET内存居高不下排查解决与启示
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了
· DeepSeek 开源周回顾「GitHub 热点速览」
点击右上角即可分享
微信分享提示