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