摘要:更推薦用和實(shí)現(xiàn)父子組件通信創(chuàng)建實(shí)例此時(shí)打印出組件繼承使用基礎(chǔ)構(gòu)造器,創(chuàng)建一個(gè)子類。包含組件選項(xiàng)的對(duì)象創(chuàng)建構(gòu)造器創(chuàng)建實(shí)例,并掛載到一個(gè)元素上。該對(duì)象包含可注入其子孫的屬性。和綁定并不是可響應(yīng)的。
組件注冊(cè)
關(guān)于組件名:
*組件名可以是kebab-case (短橫線分隔命名)或者PascalCase (駝峰式命名)
當(dāng)使用 kebab-case (短橫線分隔命名) 定義一個(gè)組件時(shí),你也必須在引用這個(gè)自定義元素時(shí)使用 kebab-case
當(dāng)使用 PascalCase (駝峰式命名) 定義一個(gè)組件時(shí),你在引用這個(gè)自定義元素時(shí)兩種命名法都可以使用。*
//在注冊(cè)之后可以用在任何新創(chuàng)建的 Vue 根實(shí)例 (new Vue) 的模板中 Vue.component("my-component-name", { // ... 選項(xiàng) ... })局部注冊(cè)
const component = { template: `模板的要求`, data() { return { text: 123 } }, methods:{ } } const app = new Vue({ //el:"#root", components: { comp: component }, template: "", }).$mount("#root")
注意:組件的模板只能有一個(gè)根元素。下面的情況是不允許的。
template: `組件中的data必須是函數(shù)這是一個(gè)局部的自定義組件,只能在當(dāng)前Vue實(shí)例中使用`,
當(dāng)我們定義這個(gè)
data: { count: 0 }
取而代之的是,一個(gè)組件的 data 選項(xiàng)必須是一個(gè)函數(shù),因此每個(gè)實(shí)例可以維護(hù)一份被返回對(duì)象的獨(dú)立的拷貝:
data: function () { return { count: 0 } }
如果 Vue 沒(méi)有這條規(guī)則,所有模板都會(huì)共享一份數(shù)據(jù)。
解析 DOM 模板時(shí)的注意事項(xiàng)有些 HTML 元素,諸如