我們通過vue的component方法來定義乙個全域性元件。
定義好的元件,可以任意復用多次:
你會發現每個元件互不干擾,都有自己的count值。怎麼實現的?
當我們定義這個元件時,它的data 並不是像這樣直接提供乙個物件:
data:
取而代之的是,乙個元件的 data 選項必須是乙個函式,因此每個例項可以維護乙份被返回物件的獨立的拷貝:
data: function() }
如果 vue 沒有這條規則,點選乙個按鈕就會影響到其它所有例項!
一旦全域性註冊,就意味著即便以後你不再使用這個元件,它依然會隨著vue的載入而載入。
因此,對於一些並不頻繁使用的元件,我們會採用區域性註冊。
我們先在外部定義乙個物件,結構與建立元件時傳遞的第二個引數一致:
const counter =} 次,我記住了.',data()
}};
然後在vue中使用它:
vue(
})效果與剛才的全域性註冊是類似的,不同的是,這個counter元件只能在當前的vue例項中使用
比如我們有乙個子元件:
vue.component("introduce",)
父元件使用子元件,同時傳遞title屬性:
我們定義乙個子元件:
const mylist =}}
我們在父元件中使用它:
vue(,
data:,,,
]}
})來看這樣的乙個案例:
VUE之元件基礎篇
任何乙個頁面我們都可以看做成無數個元件的構成,但是元件只能有乙個根元素,也就是說我們需要將乙個大的div把它整個包起來,元件化的方式可以讓很多 進行復用,例如類似的表單註冊乙個元件後,只需要將元件名作為乙個標籤使用即可達到想用的效果。可以看出,註冊元件時傳入的配置和建立vue例項差不多,但也有不同,...
Vue元件基礎
new vue 就可以認為是乙個大元件,但多個例項這樣太low了,vue為我們提供了component。1.全域性註冊的元件 要註冊乙個全域性元件,你可以使用vue.component tagname,options 例如 註冊 vue.component my component 建立根例項 va...
Vue元件基礎
vue.component button counter template you clicked me times.這裡的data必須是乙個function,不能是物件。因為如果是物件,多個元件引用的是相同的data。如果是function,那麼每次返回的都是不同的data物件,這樣元件之間引用的...