Vue bileşenlerini kullanmaya başlama
Tanım gereği, bileşen "daha büyük bir bütüne ait bir parça veya öğedir." Uygulama oluşturmayı düşünürken genellikle daha küçük parçalar ile çalışır ve bunları daha büyük bir bütün halinde birleştirirsiniz: uygulamanız. Vue, daha sonra tam bir uygulama oluşturmak için kullanabileceğiniz bileşenler oluşturmanıza olanak tanır.
Vue bileşenleri
JavaScript dosyalarını kullanarak bileşenler oluşturabilmenize rağmen, en yaygın yöntem bir .vue dosyasının içindeki Vue söz dizimini kullanarak tek dosyalı bileşenler oluşturmaktır. Tek dosyalı bileşenler daha temiz bir yapıya ve daha bağımsız bir kuruluma olanak sağlar. Hatta Pug veya Stylus gibi çeşitli ön işlemcileri kullanmanıza bile olanak sağlar.
Bileşenler oluşturduğunuzda, temelde uygulamanızda normal HTML etiketlerine benzer şekilde kullanabileceğiniz yeni etiketler oluşturursunuz. Bu anlam etiketleri biçimi, sayfada görüntülenenleri net bir şekilde açıklar. Gibi <booking-form></booking-form>
bir etiket büyük olasılıkla rezervasyon oluşturmak için bir form görüntüler ve <booking-list></booking-list>
büyük olasılıkla bir rezervasyon listesi görüntüler.
Vue bileşen yapısı
Vue bileşenleri üç ana bölüm içerir: style
, script
ve template
.
stili
bölümü style
, kullanmakta olduğunuz herhangi bir geçerli CSS veya ön işlemcinin söz dizimini içerebilir.
Ayrıca, özniteliğini kullanarak CSS'nizin kapsamını belirli bir bileşene göre de ayarlayabilirsinizscoped
. Stiller yalnızca bu bileşene uygulanır, böylece sayfanın diğer bölümlerini yanlışlıkla değiştirme konusunda endişelenmeden sınıflar ve diğer ayarlar oluşturabilirsiniz.
<style>
.demo {
font-family: Verdana
}
</style>
betiğini çalıştırın
script
bölümünde bileşen için kullanılan betik depolanmıştır. Vue JavaScript bileşeninde olduğu gibi, , methods
ve gibi data()
çeşitli Vue özelliklerini ve components
yöntemlerini dışarı aktarabilirsiniz.
<script>
export default {
data() {
return {
product: {
name: 'Cruise to the moon',
description: 'A cool cruise to the moon!'
}
}
}
}
</script>
şablonu
template
bölümünde, bilgileri görüntülemek ve kullanıcının verilerle etkileşim kurmasına izin vermek için kullanmak istediğiniz HTML şablonu bulunur. JavaScript tabanlı bir bileşen kullandığınızda, template
genellikle .html dosyasının içindedir veya JavaScript dosyasında dize değişmez değeridir.
içinde template
kullanılan HTML söz dizimi, verileri görüntülemek için tanıtıcı çubukları ({{}}
) kullanma dahil olmak üzere JavaScript tabanlı bileşenlerle aynıdır.
<template>
<div id="product">
<div>{{ product.name }}</div>
<div>{{ product.description }}</div>
</div>
</template>
Dekont
Şablonların bir kök öğesi olması gerekir. Diğer bir ifadeyle div
, ile product
id
öğesi hiçbir eşdüzey öğeye sahip olamaz. Önceki kodda gösterildiği gibi yalnızca alt öğelere sahip olabilir.
Yükleme ve bileşenler
Daha önce vurgulandığı gibi, tek dosyalı bileşenler . vue uzantısıyla kaydedilir. deyimini kullanarak import
bu bileşenleri diğer modüllere benzer şekilde yükleyebilirsiniz. Özelliğini kullanarak components
bunları kaydedebilirsiniz. Bileşenler kaydedildikten sonra, içinde template
etiket olarak kullanılabilir hale gelir.
Dekont
kullanarak import
bir kitaplığı içeri aktarırken, her sözcüğün ilk harfinin büyük harfle yazıldığı ad için PascalCase kullanılması standarttır (örneğin, PascalCase
). Ancak HTML'de kural, etiket adlarının her sözcükle küçük harflerle ve aralarında bir tireyle (-
) kebab-case kullanmasına yöneliktir. Vue, iki farklı kuralı otomatik olarak yönetir.
<template>
<product-display></product-display>
</template>
<script>
import ProductDisplay from './ProductDisplay.vue'
export default {
components: {
ProductDisplay
}
}
Önceki kodda bileşen ProductDisplay
içeri aktarılır ve özelliğine components
eklenir. Ardından, ProductDisplay
şablonda kullanıldığında, Vue'nun derleyicisi bu bileşenin normal bir HTML öğesi değil ayrıştırması gereken bir şey olduğunu söyleyebilir.
Endişelerin ayrılması
HTML, CSS ve JavaScript'i tek bir dosyaya yerleştirmek, her tür için ayrı dosyalar oluşturmanın en iyi uygulamasından bir çıkış gibi görünebilir. Uygulamada, bu dosyalar arasında geçiş yapmak, aralarındaki bağımlılıklar nedeniyle geliştirmenin yavaşmasına neden olabilir. Ayrıca dosyalar arasında geçiş yapmakla ilişkili bilişsel bir yük de vardır.
Tek dosyalı bileşenler, özniteliğini kullanarak ve style
bölümleriniz script
için ayrı dosyalar oluşturmanıza src
olanak sağlar.
<template>
<div>Hello, world</div>
</template>
<script src="./hello.js"></script>
<style src="./style.css"></style>