想寫乙個驗證props 屬性的簡單小例子,但寫到元件的時候就出錯了。
錯誤**如下:
不能再簡單了。 問題出在元件名稱 inputview上。 網上搜尋到的解釋如下:
在dom中直接呼叫元件(上面**就是此種方式)
呼叫元件的元素全部會被全部解析為小寫字母,比如會被解析為,然後去匹配元件名,匹配元件名順序是:hello-vue(全小寫),hellovue(camel case即駝峰命名法),hellovue(pascalcase即帕斯卡命名法),如果能夠匹配到元件,就可以使元件生效。
再回到例子中來,定義的inputview元件是在dom中直接呼叫,vuejs會把標籤全部解析為小寫,即inputview,然後在用自定義標籤名inputview去查詢元件名,因為inputview沒有被『-』分開(即input-view),所以被看成是乙個單詞,所以三種形式的元件名是input-view,inputview,inputview,那麼就匹配不到定義的inputview元件,元件呼叫不生效
哈哈, 剛寫完就去vue官網上看了一下。官網文件其實已經寫的很明白。 在元件註冊部分:
直接在 dom (即非字串的模板) 中使用時只有 kebab-case 是有效的。
學習前端 vue元件 命名路由
有時候我們在定義路由跳轉時,沒必要使用 path。我們可以在定義路由時,附加名稱,這樣我們在使用時,直接使用name 來定義跳轉路由。使用步驟 1 定義路由時要 新增路由名稱 name 屬性。例如 const router new vuerouter 2.使用name,to前加 表示屬性繫結,nam...
vue元件命名風格
單檔案元件的檔名應該要麼始終是單詞大寫開頭 pascalcase 要麼始終是橫線連線 kebab case 單詞大寫開頭對於 編輯器的自動補全最為友好,因為這使得我們在 js x 和模板中引用元件的方式盡可能的一致。然而,混用檔案命名方式有的時候會導致大小寫不敏感的檔案系統的問題,這也是橫線連線命名...
Vue學習筆記之元件模板
在html5標準中標籤裡只能寫,但又希望row元件的內容顯示在中,可以使用is屬性 在根元件裡,定義data可以直接通過物件定義,但在非根元件裡定義data,data必須是乙個函式,而且要返回乙個包含資料的物件,這是因為乙個子元件不像根元件只會被呼叫一次,子元件在很多地方都會被呼叫,每乙個子元件都應...