Vue注冊組件命名時不能用大寫的原因淺析
這段時間一直在弄vue,當然也遇到很多問題,這里就來跟大家分享一些注冊自定義模板組件的心得。
首先“VUE注冊組件命名時不能用大寫“其實這句話是不對的,但我們很多人開始都覺得是對的,因為大家都踩過大寫命名的坑
下面我們來看個例子:
<div id="app"> <myTemplate></myTemplate> </div> <script> Vue.component('myTemplate',{ template: '<h1>這里是自定義組件的內(nèi)容</h1>' }) new Vue({ el: '#app' }) </script>
當我看完官網(wǎng)的文檔后,信心滿滿的第一次準備自定義組件時,就寫的跟上面差不多類型的代碼
但是當我運行代碼時,組件并沒有被渲染出來,反而報錯了說我用的組件沒有注冊,我當時真是擠破腦袋想了半天也沒發(fā)現(xiàn)問題出在哪里
這時候我在想難道我的命名和源碼里的沖突了?于是我把代碼改成這樣了↓
<div id="app"> <mytemplate></mytemplate> </div> <script> Vue.component('mytemplate',{ template: '<h1>這里是自定義組件的內(nèi)容</h1>' }) new Vue({ el: '#app' }) </script>
然后運行代碼,ok完全正常,這時候大家都會認為vue注冊組件不能用大寫命名,我當時也這么認為的,直到這兩天在用餓了么elementUI框架,當我看了他們的源碼,發(fā)現(xiàn)原來并不是這樣
他們注冊組件的命名就和我第一次一樣myTemplate,標準的駝峰命名方法,那么我一開始為什么會報錯呢?這是為什么呢?難道VUE嫌棄我?
原來是我調(diào)用組件時的方法錯了,VUE是允許用大寫字母來注冊組件的,但當你使用時得在駝峰命名的大寫字母間加上”-“并都改為小寫,看下面代碼
<div id="app"> <my-template></my-template> </div> <script> Vue.component('myTemplate',{ template: '<h1>這里是自定義組件的內(nèi)容</h1>' }) new Vue({ el: '#app' }) </script>
代碼運行正常,這個時候大家是不是看出來,vue其實是可以用大寫字母命名注冊的
后面我也試了很多種命名方式,比如”my-template“這樣也是可以的
”My-template“這樣的會報錯
----------------------------------------------------------------
后來在官網(wǎng)看到這句話camelCase vs. kebab-case
HTML 特性是不區(qū)分大小寫的。所以,當使用的不是字符串模版,camelCased (駝峰式) 命名的 prop 需要轉(zhuǎn)換為相對應的 kebab-case
(短橫線隔開式) 命名: 如果你使用字符串模版,則沒有這些限制。
總結(jié)
以上所述是小編給大家介紹的Vue注冊組件命名時不能用大寫的原因淺析,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回復大家的。在此也非常感謝大家對腳本之家網(wǎng)站的支持!
如果你覺得本文對你有幫助,歡迎轉(zhuǎn)載,煩請注明出處,謝謝!
相關(guān)文章
vuejs使用FormData實現(xiàn)ajax上傳圖片文件
本篇文章主要介紹了vuejs使用FormData實現(xiàn)ajax上傳圖片文件,具有一定的參考價值,有興趣的可以了解一下2017-08-08vue-cli 腳手架基于Nightwatch的端到端測試環(huán)境的過程
這篇文章主要介紹了vue-cli 腳手架基于Nightwatch的端到端測試環(huán)境的過程,需要的朋友可以參考下2018-09-09vue動態(tài)綁定class的幾種常用方式小結(jié)
這篇文章主要介紹了vue動態(tài)綁定class的幾種常用方式,結(jié)合實例形式總結(jié)分析了vue.js常見的對象方法、數(shù)組方法進行class動態(tài)綁定相關(guān)操作技巧,需要的朋友可以參考下2019-05-05Vue.js+cube-ui(Scroll組件)實現(xiàn)類似頭條效果的橫向滾動導航條
這篇文章主要介紹了Vue.js+cube-ui(Scroll組件)實現(xiàn)類似頭條效果的橫向滾動導航條,本文通過實例代碼給大家介紹的非常詳細,具有一定的參考借鑒價值 ,需要的朋友可以參考下2019-06-06三步搞定:Vue.js調(diào)用Android原生操作
這篇文章主要介紹了三步搞定:Vue.js調(diào)用Android原生操作,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2020-09-09