VueJS Components
És itt a vége. Eddig is szuper dolgokat mutattam neked a Vue.js konyhájából,
most pedig jön mindennek a megkoronázása, a Component. Mi ez?
Alább elmondom.
Videós magyarázat
Forráskód a Github -on:
Component
Egy új HTML elemre kell gondolni. Csak nem <H1>
vagy <div>
, hanem mondjuk
<my-form-element>
.
Tehát egyedi néven fut és te írod le hogy hogyan nézzen ki és hogyan működjön.
Így hozod létre:
Vue.component('item', {
props: ['product'],
template: `<li :class="{strikeout: product.purchased}"
@click="togglePurchased(product)">
{{ product.label }}
</li>`,
methods: {
togglePurchased: (item) => {
item.purchased = !item.purchased;
}
}
});
Egy kis magyarázat:
item
: ez lett az elem neve, de lehetne mondjukcherry-custom-element
isprops
: itt adod meg, hogy milyen egyéni attribútumokat lehet neki átadnitemplate
: ez az elem HTML forráskódja, ez megy a DOM -bamethods
: az elem egyedi metódusai
Így használod a HTML részben:
<ul>
<item v-for="item in sortedItems" :product="item"></item>
</ul>
Látod a megadott néven használom és átadom neki az attribútumot is amit vár. Az
már csak hab a tortán, hogy rögtön egy v-for
-al ismétlem is és annyiszor
jelenik meg, ahány eleme van a sortedItems
tömbnek.