|
1 | 1 | ---
|
2 |
| -title: Şablon Sentaksı |
| 2 | +title: Şablon Sentaksı |
3 | 3 | type: guide
|
4 | 4 | order: 4
|
5 | 5 | ---
|
6 | 6 |
|
7 |
| -Vue.js, ekrana yansıtılan DOM modelini arka plandaki Vue örneğine ait verilere beyansal olarak bağlamayı sağlayan HTML tabanlı bir şablon sentaksı kullanır. Her Vue.js şablonu geçerli bir HTML kodu olup standartlara uyum gösteren tarayıcılar ve HTML derleyiciler tarafından okunabilir. |
| 7 | +Vue.js, ekrana yansıtılan DOM modelini arka plandaki Vue örneğine ait verilere beyansal olarak bağlamayı sağlayan HTML tabanlı bir şablon sentaksı kullanır. Her Vue.js şablonu geçerli bir HTML kodu olup standartlara uyum gösteren tarayıcılar ve HTML derleyiciler tarafından okunabilir. |
8 | 8 |
|
9 |
| -Vue, şablonları kendiliğinden Sanal DOM modelleme fonksiyonları aracılığıyla derler. Otomatik tepki sisteminin de yardımıyla Vue yeniden modellenmesi gereken minimum sayıdaki bileşeni akıllıca tespit edebilir ve uygulamanın durumu değiştiğinde mümkün olan en az sayıda DOM değişikliğini gerçekleştirir. |
| 9 | +Vue, şablonları kendiliğinden Sanal DOM modelleme fonksiyonları aracılığıyla derler. Otomatik tepki sisteminin de yardımıyla Vue yeniden modellenmesi gereken minimum sayıdaki bileşeni akıllıca tespit edebilir ve uygulamanın durumu değiştiğinde mümkün olan en az sayıda DOM değişikliğini gerçekleştirir. |
10 | 10 |
|
11 |
| -Eğer Sanal DOM kavramlarına alışıksanız ve saf JavaScript’in gücünden yararlanmayı tercih ederseniz isteğe bağlı JSX desteği sayesinde şablona gerek olmaksızın [doğrudan modelleme fonksiyonları](render-function.html) yazabilirsiniz. |
| 11 | +Eğer Sanal DOM kavramlarına alışıksanız ve saf JavaScript’in gücünden yararlanmayı tercih ederseniz isteğe bağlı JSX desteği sayesinde şablona gerek olmaksızın [doğrudan modelleme fonksiyonları](render-function.html) yazabilirsiniz. |
12 | 12 |
|
13 |
| -## Değişken değer takibi |
| 13 | +## Değişken değer takibi |
14 | 14 |
|
15 | 15 | ### Metin
|
16 | 16 |
|
17 |
| -Veri bağlamanın en basit şekli “Bıyık” sentaksı (ikişer adet süslü parantez) ile yazılan metin değerlerinin takibidir. |
| 17 | +Veri bağlamanın en basit şekli “Bıyık” sentaksı (ikişer adet süslü parantez) ile yazılan metin değerlerinin takibidir. |
18 | 18 |
|
19 | 19 | ``` html
|
20 | 20 | <span>Mesaj: {{ msg }}</span>
|
21 | 21 | ```
|
22 | 22 |
|
23 |
| -Bıyık etiketiyle çevrili kısım ilgili bileşenin veri nesnesi içerisinde yer alan `msg` özelliğinin değeri ile değiştirilecektir. Söz konusu veri nesnesinin `msg` özelliği ne zaman değişirse bu metin de güncellenir. |
| 23 | +Bıyık etiketiyle çevrili kısım ilgili bileşenin veri nesnesi içerisinde yer alan `msg` özelliğinin değeri ile değiştirilecektir. Söz konusu veri nesnesinin `msg` özelliği ne zaman değişirse bu metin de güncellenir. |
24 | 24 |
|
25 |
| -Ayrıca [v-once direktifini](../api/#v-once) kullanarak değişken değerinin yalnızca bir defa kullanılmasını sağlayabilirsiniz. Fakat bu işlemin aynı HTML düğümü üzerindeki tüm bağlar üzerinde etkili olacağını unutmayın. |
| 25 | +Ayrıca [v-once direktifini](../api/#v-once) kullanarak değişken değerinin yalnızca bir defa kullanılmasını sağlayabilirsiniz. Fakat bu işlemin aynı HTML düğümü üzerindeki tüm bağlar üzerinde etkili olacağını unutmayın. |
26 | 26 |
|
27 | 27 | ``` html
|
28 |
| -<span v-once>Bu asla değişmeyecektir: {{ msg }}</span> |
| 28 | +<span v-once>Bu asla değişmeyecektir: {{ msg }}</span> |
29 | 29 | ```
|
30 | 30 |
|
31 | 31 | ### Saf HTML
|
32 | 32 |
|
33 |
| -Çift bıyık sentaksı verileri düz metin olarak yorumlar. HTML olarak değil. Gerçek HTML yazabilmek için `v-html` direktifini kullanmalısınız: |
| 33 | +Çift bıyık sentaksı verileri düz metin olarak yorumlar. HTML olarak değil. Gerçek HTML yazabilmek için `v-html` direktifini kullanmalısınız: |
34 | 34 |
|
35 | 35 | ``` html
|
36 |
| -<p>Bıyık ile kullanım: {{ safHtml }}</p> |
37 |
| -<p>v-html direktifi ile kullanım: <span v-html="safHtml"></span></p> |
| 36 | +<p>Bıyık ile kullanım: {{ safHtml }}</p> |
| 37 | +<p>v-html direktifi ile kullanım: <span v-html="safHtml"></span></p> |
38 | 38 | ```
|
39 | 39 |
|
40 | 40 | {% raw %}
|
41 | 41 | <div id="example1" class="demo">
|
42 |
| - <p>Bıyık ile kullanım: {{ rawHtml }}</p> |
43 |
| - <p>v-html direktifi ile kullanım: <span v-html="safHtml"></span></p> |
| 42 | + <p>Bıyık ile kullanım: {{ rawHtml }}</p> |
| 43 | + <p>v-html direktifi ile kullanım: <span v-html="safHtml"></span></p> |
44 | 44 | </div>
|
45 | 45 | <script>
|
46 | 46 | new Vue({
|
47 | 47 | el: '#example1',
|
48 | 48 | data: function () {
|
49 | 49 | return {
|
50 |
| - safHtml: ‘<span style="color: red">Bu metnin rengi kırmızı olmalı.</span>' |
| 50 | + safHtml: ‘<span style="color: red">Bu metnin rengi kırmızı olmalı.</span>' |
51 | 51 | }
|
52 | 52 | }
|
53 | 53 | })
|
54 | 54 | </script>
|
55 | 55 | {% endraw %}
|
56 | 56 |
|
57 |
| -`span` içerisindeki metin `rawHtml` özelliğinin değeri ile değiştirilecektir ve bu metin saf HTML olarak yorumlanacak olup veri bağları dikkate alınmayacaktır. `v-html` direktifi içerisinde dinamik şablon oluşturmak mümkün değildir zira Vue, dizgi tabanlı bir şablon motoru değildir. Bunun yerine kullanıcı arayüzü elemanlarının yeniden kullanımı ve birlikte kullanımına yönelik temel birim olarak bileşenler kullanılmaktadır. |
| 57 | +`span` içerisindeki metin `rawHtml` özelliğinin değeri ile değiştirilecektir ve bu metin saf HTML olarak yorumlanacak olup veri bağları dikkate alınmayacaktır. `v-html` direktifi içerisinde dinamik şablon oluşturmak mümkün değildir zira Vue, dizgi tabanlı bir şablon motoru değildir. Bunun yerine kullanıcı arayüzü elemanlarının yeniden kullanımı ve birlikte kullanımına yönelik temel birim olarak bileşenler kullanılmaktadır. |
58 | 58 |
|
59 |
| -<p class="tip">İçeriği belirsiz HTML girdilerinin internet sitenizde dinamik olarak modellenmesi son derece tehlikeli olabilir zira kolayca [XSS zafiyetleri](https://tr.wikipedia.org/wiki/Siteler_aras%C4%B1_betik_%C3%A7al%C4%B1%C5%9Ft%C4%B1rma) ile sonuçlanabilir. HTML değerlerinin takibi işlevini yalnızca güvenilir içerikler üzerinde kullanın ve **asla** kullanıcı tarafından temin edilen içerik üzerinde kullanmayın.<Çp> |
| 59 | +<p class="tip">İçeriği belirsiz HTML girdilerinin internet sitenizde dinamik olarak modellenmesi son derece tehlikeli olabilir zira kolayca [XSS zafiyetleri](https://tr.wikipedia.org/wiki/Siteler_aras%C4%B1_betik_%C3%A7al%C4%B1%C5%9Ft%C4%B1rma) ile sonuçlanabilir. HTML değerlerinin takibi işlevini yalnızca güvenilir içerikler üzerinde kullanın ve **asla** kullanıcı tarafından temin edilen içerik üzerinde kullanmayın.<Çp> |
60 | 60 |
|
61 | 61 | ### HTML Nitelikleri
|
62 | 62 |
|
63 |
| -HTML nitelikleri içerisinde bıyık sentaksı kullanılamaz. Bunun yerine [v-bind direktifini](../api/#v-bind) kullanın: |
| 63 | +HTML nitelikleri içerisinde bıyık sentaksı kullanılamaz. Bunun yerine [v-bind direktifini](../api/#v-bind) kullanın: |
64 | 64 |
|
65 | 65 | ``` html
|
66 | 66 | <div v-bind:id="dinamikId"></div>
|
67 | 67 | ```
|
68 | 68 |
|
69 |
| -Mevcut olmaları `true` anlamına gelen boole nitelikleri için `v-bind` biraz farklı faaliyet göstermektedir. Aşağıdaki örneğe bakalım: |
| 69 | +Mevcut olmaları `true` anlamına gelen boole nitelikleri için `v-bind` biraz farklı faaliyet göstermektedir. Aşağıdaki örneğe bakalım: |
70 | 70 |
|
71 | 71 | ``` html
|
72 | 72 | <button v-bind:disabled="butonAktifDegil">Buton</button>
|
73 | 73 | ```
|
74 | 74 |
|
75 |
| -Eğer `butonAktifDeğil` değişkeninin değeri `null`, `undefined` veya `false olursa `disabled` niteliği, modellenen `<button>` elementine dahil bile edilmeyecektir. |
| 75 | +Eğer `butonAktifDeğil` değişkeninin değeri `null`, `undefined` veya `false olursa `disabled` niteliği, modellenen `<button>` elementine dahil bile edilmeyecektir. |
76 | 76 |
|
77 |
| -### JavaScript İfadelerinin Kullanımı |
| 77 | +### JavaScript İfadelerinin Kullanımı |
78 | 78 |
|
79 |
| -Şu ana kadar şablonlarımızda basit özellik anahtarları üzerinde bağ gerçekleştirdik. Halbuki Vue.js veri bağları üzerinde JavaScript ifadelerinin sunduğu tüm gücü kullanmayı mümkün kılıyor: |
| 79 | +Şu ana kadar şablonlarımızda basit özellik anahtarları üzerinde bağ gerçekleştirdik. Halbuki Vue.js veri bağları üzerinde JavaScript ifadelerinin sunduğu tüm gücü kullanmayı mümkün kılıyor: |
80 | 80 |
|
81 | 81 | ``` html
|
82 | 82 | {{ sayi + 1 }}
|
|
88 | 88 | <div v-bind:id="'list-' + id"></div>
|
89 | 89 | ```
|
90 | 90 |
|
91 |
| -Bu ifadeler bağlı oldukları Vue örneğinin veri kapsamı içerisinde JavaScript olarak değerlendirilecektir. Bu açıdan tek sınırlama her bağ içerisinde **yalnızca bir ifadenin** kullanılma zorunluluğudur. Yani aşağıdaki ifade **ÇALIŞMAYACAKTIR**: |
| 91 | +Bu ifadeler bağlı oldukları Vue örneğinin veri kapsamı içerisinde JavaScript olarak değerlendirilecektir. Bu açıdan tek sınırlama her bağ içerisinde **yalnızca bir ifadenin** kullanılma zorunluluğudur. Yani aşağıdaki ifade **ÇALIŞMAYACAKTIR**: |
92 | 92 |
|
93 | 93 | ``` html
|
94 |
| -<!-- Aşağıdaki kod bir ifade değil bir beyandır: --> |
| 94 | +<!-- Aşağıdaki kod bir ifade değil bir beyandır: --> |
95 | 95 | {{ var a = 1 }}
|
96 | 96 |
|
97 |
| -<!-- akış kontrolü de çalışmayacaktır, bunun yerine üç terimli ifadeleri kullanın --> |
| 97 | +<!-- akış kontrolü de çalışmayacaktır, bunun yerine üç terimli ifadeleri kullanın --> |
98 | 98 | {{ if (ok) { return mesaj } }}
|
99 | 99 | ```
|
100 | 100 |
|
101 |
| -<p class="tip">Şablon ifadeleri dış ortamdan ayrılmış olup yalnızca `Math` ve `Date` gibi global değişkenleri içeren sınırlı bir listeye erişim sunar. Şablon ifadeleri içerisinde kullanıcı tarafından belirlenen global değişkenlere erişim gerçekleştirmeye çalışmayın.</p> |
| 101 | +<p class="tip">Şablon ifadeleri dış ortamdan ayrılmış olup yalnızca `Math` ve `Date` gibi global değişkenleri içeren sınırlı bir listeye erişim sunar. Şablon ifadeleri içerisinde kullanıcı tarafından belirlenen global değişkenlere erişim gerçekleştirmeye çalışmayın.</p> |
102 | 102 |
|
103 | 103 | ## Direktifler
|
104 | 104 |
|
105 |
| -Direktifler `v-` ön ekini kullanan özel niteliklerdir. Direktif nitelikleri, **tek bir JavaScript ifadesine** karşılık gelen bir değer içermelidir (`v-for` bu açıdan bir istisna olup buna aşağıda değineceğiz). Direktiflerin görevi, içerisindeki ifadenin değeri değiştiğinde bunun yan etkilerini DOM modeline reaktif olarak yansıtmaktır. Giriş bölümünde gördüğümüz örneği yeniden inceleyelim: |
| 105 | +Direktifler `v-` ön ekini kullanan özel niteliklerdir. Direktif nitelikleri, **tek bir JavaScript ifadesine** karşılık gelen bir değer içermelidir (`v-for` bu açıdan bir istisna olup buna aşağıda değineceğiz). Direktiflerin görevi, içerisindeki ifadenin değeri değiştiğinde bunun yan etkilerini DOM modeline reaktif olarak yansıtmaktır. Giriş bölümünde gördüğümüz örneği yeniden inceleyelim: |
106 | 106 |
|
107 | 107 | ``` html
|
108 |
| -<p v-if="seen">Şu an beni görüyorsun</p> |
| 108 | +<p v-if="seen">Şu an beni görüyorsun</p> |
109 | 109 | ```
|
110 | 110 |
|
111 |
| -Burada `v-if` direktifi, `<p>` elementini `seen` ifadesine ait değerin doğru olup olmadığını göre DOM’a ekler veya kaldırır. |
| 111 | +Burada `v-if` direktifi, `<p>` elementini `seen` ifadesine ait değerin doğru olup olmadığını göre DOM’a ekler veya kaldırır. |
112 | 112 |
|
113 |
| -### Argümanlar |
| 113 | +### Argümanlar |
114 | 114 |
|
115 |
| -Bazı direktifler, direktif adından sonra iki nokta ile işaret edilen bir “argüman” alabilir. Örneğin `v-bind` direktifi bir HTML niteliğini reaktif olarak güncellemek üzere kullanılır: |
| 115 | +Bazı direktifler, direktif adından sonra iki nokta ile işaret edilen bir “argüman” alabilir. Örneğin `v-bind` direktifi bir HTML niteliğini reaktif olarak güncellemek üzere kullanılır: |
116 | 116 |
|
117 | 117 | ``` html
|
118 | 118 | <a v-bind:href="url"> ... </a>
|
119 | 119 | ```
|
120 | 120 |
|
121 |
| -Burada `href`, `v-bind`’ın argümanı olarak kullanılıyor ve söz konusu elementin `href` niteliğini `url` ifadesinin değerine bağlıyor. |
| 121 | +Burada `href`, `v-bind`’ın argümanı olarak kullanılıyor ve söz konusu elementin `href` niteliğini `url` ifadesinin değerine bağlıyor. |
122 | 122 |
|
123 |
| -Bir diğer örnek DOM olaylarını dinleyen `v-on` direktifidir: |
| 123 | +Bir diğer örnek DOM olaylarını dinleyen `v-on` direktifidir: |
124 | 124 |
|
125 | 125 | ``` html
|
126 | 126 | <a v-on:click="birSeyYap"> ... </a>
|
127 | 127 | ```
|
128 | 128 |
|
129 |
| -Burada argüman dinlenilecek olan olayın adıdır. Olay yönetimine ileride daha yakından değineceğiz. |
| 129 | +Burada argüman dinlenilecek olan olayın adıdır. Olay yönetimine ileride daha yakından değineceğiz. |
130 | 130 |
|
131 |
| -### Dinamik Argümanlar |
| 131 | +### Dinamik Argümanlar |
132 | 132 |
|
133 |
| -> 2.6.0+’dan itibaren |
| 133 | +> 2.6.0+’dan itibaren |
134 | 134 |
|
135 |
| -2.6.0 versiyonundan itibaren bir direktif argümanı içerisinde JavaScript ifadelerini köşeli bir parantez içerisinde kullanmak mümkün: |
| 135 | +2.6.0 versiyonundan itibaren bir direktif argümanı içerisinde JavaScript ifadelerini köşeli bir parantez içerisinde kullanmak mümkün: |
136 | 136 |
|
137 | 137 | ``` html
|
138 | 138 | <a v-bind:[nitelikAdi]="url"> ... </a>
|
139 | 139 | ```
|
140 | 140 |
|
141 |
| -Burada `nitelikAdi` dinamik bir şekilde JavaScript ifadesi olarak değerlendirilecek ve tespit edilen değer bu argümanın nihai değeri olarak kullanılacak. Örneğin eğer Vue örneğiniz `"href"` değerine sahip `nitelikAdi` şeklindeki bir data niteliğine sahipse yukarıdaki bağ `v-bind:href`e denk olacaktır. |
| 141 | +Burada `nitelikAdi` dinamik bir şekilde JavaScript ifadesi olarak değerlendirilecek ve tespit edilen değer bu argümanın nihai değeri olarak kullanılacak. Örneğin eğer Vue örneğiniz `"href"` değerine sahip `nitelikAdi` şeklindeki bir data niteliğine sahipse yukarıdaki bağ `v-bind:href`e denk olacaktır. |
142 | 142 |
|
143 |
| -Aynı şekilde dinamik argümanlar sayesinde bir olay yöneticisini dinamik bir olay adına bağlayabilirsiniz: |
| 143 | +Aynı şekilde dinamik argümanlar sayesinde bir olay yöneticisini dinamik bir olay adına bağlayabilirsiniz: |
144 | 144 |
|
145 | 145 | ``` html
|
146 |
| -<a v-on:[olayAdı]="birSeyYap"> ... </a> |
| 146 | +<a v-on:[olayAdı]="birSeyYap"> ... </a> |
147 | 147 | ```
|
148 | 148 |
|
149 |
| -Yine yukarıdaki gibi `olayAdi`'nın değeri `"focus"` ise `v-on:[eventName]` ifadesi `v-on:focus`a karşılık gelecektir. |
| 149 | +Yine yukarıdaki gibi `olayAdi`'nın değeri `"focus"` ise `v-on:[eventName]` ifadesi `v-on:focus`a karşılık gelecektir. |
150 | 150 |
|
151 |
| -#### Dinamik Argüman Değeri Kısıtlamaları |
| 151 | +#### Dinamik Argüman Değeri Kısıtlamaları |
152 | 152 |
|
153 |
| -Dinamik argümanlar `null` dışında yalnızca dizgi olarak değerlendirilmesi beklenir. Söz konusu bağı kaldırabilmek için istinai olarak `null` kullanılmasına müsaade edilir. Bunun dışında dizgi olmayan tüm değerler bir uyarı verecektir. |
| 153 | +Dinamik argümanlar `null` dışında yalnızca dizgi olarak değerlendirilmesi beklenir. Söz konusu bağı kaldırabilmek için istinai olarak `null` kullanılmasına müsaade edilir. Bunun dışında dizgi olmayan tüm değerler bir uyarı verecektir. |
154 | 154 |
|
155 |
| -#### Dinamik Argüman İfadesi Kısıtlamaları |
| 155 | +#### Dinamik Argüman İfadesi Kısıtlamaları |
156 | 156 |
|
157 |
| -<p class="tip">Dinamik argüman ifadeleri üzerinde bir takım sentaks kısıtlamaları mevcuttur zira HTML nitelik isimleri içerisinde boşluk veya tırnak gibi bazı karakterlerin kullanılması mümkün değildir. Ayrıca DOM içerisinde kullanılan şablonlarda büyük harf kullanılmamasına da dikkat etmelisiniz.</p> |
| 157 | +<p class="tip">Dinamik argüman ifadeleri üzerinde bir takım sentaks kısıtlamaları mevcuttur zira HTML nitelik isimleri içerisinde boşluk veya tırnak gibi bazı karakterlerin kullanılması mümkün değildir. Ayrıca DOM içerisinde kullanılan şablonlarda büyük harf kullanılmamasına da dikkat etmelisiniz.</p> |
158 | 158 |
|
159 |
| -Örneğin aşağıdaki ifade geçersizdir: |
| 159 | +Örneğin aşağıdaki ifade geçersizdir: |
160 | 160 |
|
161 | 161 | ``` html
|
162 |
| -<!-- Bu bir derleyici uyarısını tetikleyecektir. --> |
| 162 | +<!-- Bu bir derleyici uyarısını tetikleyecektir. --> |
163 | 163 | <a v-bind:['foo' + bar]="deger"> ... </a>
|
164 | 164 | ```
|
165 | 165 |
|
166 |
| -Bu uyarının ortaya çıkmasını engellemek için boşluk veya tırnak kullanmayın veya karmaşık ifadeleri hesaplanmış bir nitelik ile değiştirin. |
| 166 | +Bu uyarının ortaya çıkmasını engellemek için boşluk veya tırnak kullanmayın veya karmaşık ifadeleri hesaplanmış bir nitelik ile değiştirin. |
167 | 167 |
|
168 |
| -Buna ek olarak DOM içerisinde şablon kullanıyorsanız (şablonunuzu doğrudan bir HTML dosyası içerisinde yazıyorsanız) tarayıcıların nitelik isimlerini küçük harf olarak düzelteceğini unutmayın: |
| 168 | +Buna ek olarak DOM içerisinde şablon kullanıyorsanız (şablonunuzu doğrudan bir HTML dosyası içerisinde yazıyorsanız) tarayıcıların nitelik isimlerini küçük harf olarak düzelteceğini unutmayın: |
169 | 169 |
|
170 | 170 | ``` html
|
171 |
| -<!-- Aşağıdaki ifade DOM içi şablonda v-bind:[birnitelik] şeklinde dönüştürülecektir. --> |
| 171 | +<!-- Aşağıdaki ifade DOM içi şablonda v-bind:[birnitelik] şeklinde dönüştürülecektir. --> |
172 | 172 | <a v-bind:[birNitelik]="deger"> ... </a>
|
173 | 173 | ```
|
174 | 174 |
|
175 |
| -### Değiştiriciler |
| 175 | +### Değiştiriciler |
176 | 176 |
|
177 |
| -Değiştiriciler bir nokta ile gösterilen özel eklerdir ve bir direktifin özel bir şekilde bağlanması gerektiğini ifade eder. Örneğin `.prevent` değiştiricisi `v-on` direktifine tetiklenen olay üzerinde `event.preventDefault()` ifadesini çağırmasını söyler: |
| 177 | +Değiştiriciler bir nokta ile gösterilen özel eklerdir ve bir direktifin özel bir şekilde bağlanması gerektiğini ifade eder. Örneğin `.prevent` değiştiricisi `v-on` direktifine tetiklenen olay üzerinde `event.preventDefault()` ifadesini çağırmasını söyler: |
178 | 178 |
|
179 | 179 | ``` html
|
180 | 180 | <form v-on:submit.prevent="onSubmit"> ... </form>
|
181 | 181 | ```
|
182 | 182 |
|
183 |
| -Söz konusu bölümlere geldiğimizde [`v-on`a](events.html#Event-Modifiers) ve [`v-model`e](forms.html#Modifiers) yönelik başka değiştirici örneklerini göreceksiniz. |
| 183 | +Söz konusu bölümlere geldiğimizde [`v-on`a](events.html#Event-Modifiers) ve [`v-model`e](forms.html#Modifiers) yönelik başka değiştirici örneklerini göreceksiniz. |
184 | 184 |
|
185 |
| -## Kısaltmalar |
| 185 | +## Kısaltmalar |
186 | 186 |
|
187 |
| -`v-` ön eki şablonlarınızdaki Vue’ye özgü nitelikleri kolayca tespit edebilmeyi sağlayan görsel bir ipucu görevi görür. Hali hazırda yazılmış olan biçimli metinlere dinamik davranışlar eklemek için Vue.js’nin kullanılması sırasında yararlı olsa da direktiflerin sıkça kullanıldığı durumlarda metin kalabalığı yaratabilir. Aynı zamanda her şeyin Vue tarafından yönetildiği bir [SPA](https://tr.wikipedia.org/wiki/Tek_sayfa_uygulamas%C4%B1) geliştirdiğiniz sırada `v-` ön eki önemini kaybeder. Bu nedenle Vue en çok kullanılan iki direktif olan `v-bind` ve `v-on` için özel kısaltmalar sunar: |
| 187 | +`v-` ön eki şablonlarınızdaki Vue’ye özgü nitelikleri kolayca tespit edebilmeyi sağlayan görsel bir ipucu görevi görür. Hali hazırda yazılmış olan biçimli metinlere dinamik davranışlar eklemek için Vue.js’nin kullanılması sırasında yararlı olsa da direktiflerin sıkça kullanıldığı durumlarda metin kalabalığı yaratabilir. Aynı zamanda her şeyin Vue tarafından yönetildiği bir [SPA](https://tr.wikipedia.org/wiki/Tek_sayfa_uygulamas%C4%B1) geliştirdiğiniz sırada `v-` ön eki önemini kaybeder. Bu nedenle Vue en çok kullanılan iki direktif olan `v-bind` ve `v-on` için özel kısaltmalar sunar: |
188 | 188 |
|
189 |
| -### `v-bind` Kısaltması |
| 189 | +### `v-bind` Kısaltması |
190 | 190 |
|
191 | 191 | ``` html
|
192 | 192 | <!-- uzun sentaks -->
|
193 | 193 | <a v-bind:href="url"> ... </a>
|
194 | 194 |
|
195 |
| -<!-- kısaltma --> |
| 195 | +<!-- kısaltma --> |
196 | 196 | <a :href="url"> ... </a>
|
197 | 197 |
|
198 |
| -<!-- dinamik argümanlı kısatma (2.6.0+) --> |
| 198 | +<!-- dinamik argümanlı kısatma (2.6.0+) --> |
199 | 199 | <a :[key]="url"> ... </a>
|
200 | 200 | ```
|
201 | 201 |
|
202 |
| -### `v-on` Kısaltması |
| 202 | +### `v-on` Kısaltması |
203 | 203 |
|
204 | 204 | ``` html
|
205 | 205 | <!-- uzun sentaks -->
|
206 | 206 | <a v-on:click="birSeyYap"> ... </a>
|
207 | 207 |
|
208 |
| -<!-- kısaltma --> |
| 208 | +<!-- kısaltma --> |
209 | 209 | <a @click="birSeyYap"> ... </a>
|
210 | 210 |
|
211 |
| -<!-- dinamik argümanlı kısatma (2.6.0+) --> |
| 211 | +<!-- dinamik argümanlı kısatma (2.6.0+) --> |
212 | 212 | <a @[olay]="birSeyYap"> ... </a>
|
213 | 213 | ```
|
214 | 214 |
|
215 |
| -Bu kullanım normal HTML’den biraz farklı görünebilir ama `:` ve `@` karakterleri geçerli nitelik isimleri arasındadır ve Vue’nün desteklendiği tüm tarayıcılar tarafından doğru bir şekilde okunabilir. Ayrıca bunlar ekrana yansıtılan nihai biçimli metin içerisinde görüntülenmez. Kısaltma sentaksı isteğe bağlı olmakla beraber kullanımını daha yakından öğrendikçe hoşunuza gideceğini düşünüyoruz. |
| 215 | +Bu kullanım normal HTML’den biraz farklı görünebilir ama `:` ve `@` karakterleri geçerli nitelik isimleri arasındadır ve Vue’nün desteklendiği tüm tarayıcılar tarafından doğru bir şekilde okunabilir. Ayrıca bunlar ekrana yansıtılan nihai biçimli metin içerisinde görüntülenmez. Kısaltma sentaksı isteğe bağlı olmakla beraber kullanımını daha yakından öğrendikçe hoşunuza gideceğini düşünüyoruz. |
0 commit comments