const app = new Vue({
el: '#app',
data: {
message: 'Merhaba Vue!'
}
})
new Vue({
data: {
a: 1
},
created() {
console.log('Oluşturuldu!')
},
mounted() {
console.log('Monte edildi!')
},
updated() {
console.log('Güncellendi!')
},
destroyed() {
console.log('Yok edildi!')
}
})
<span>Mesaj: {{ msg }}</span>
<p>v-html direktifi kullanarak: <span v-html="rawHtml"></span></p>
<div v-bind:id="dinamikId"></div>
{{ number + 1 }}
{{ ok ? 'EVET' : 'HAYIR' }}
{{ message.split('').reverse().join('') }}
computed: {
terslenmisMesaj() {
return this.message.split('').reverse().join('')
}
}
watch: {
soru(yeniSoru, eskiSoru) {
this.cevap = 'Yazmayı bitirmenizi bekliyorum...'
this.gecikmisVeriAl()
}
}
<div v-bind:class="{ active: isActive }"></div>
<div v-bind:style="{ color: aktifRenk, fontSize: yaziBoyutu + 'px' }"></div>
<h1 v-if="muhtesem">Vue harika!</h1>
<h1 v-else>Ah hayır 😢</h1>
<h1 v-show="tamam">Merhaba!</h1>
<ul id="ornek-1">
<li v-for="eleman in elemanlar" :key="eleman.id">
{{ eleman.mesaj }}
</li>
</ul>
<ul id="v-for-nesne" class="demo">
<li v-for="(deger, ad) in nesne">
{{ ad }}: {{ deger }}
</li>
</ul>
<button v-on:click="sayac += 1">1 Ekle</button>
<button v-on:click="selamla">Selamla</button>
methods: {
selamla(olay) {
alert('Merhaba ' + this.ad + '!')
if (olay) {
alert(olay.target.tagName)
}
}
}
<input v-model="mesaj" placeholder="beni düzenle">
<p>Mesaj: {{ mesaj }}</p>
<input type="checkbox" id="onay-kutusu" v-model="isaretli">
<label for="onay-kutusu">{{ isaretli }}</label>
<input type="radio" id="bir" value="Bir" v-model="secilen">
<label for="bir">Bir</label>
<input type="radio" id="iki" value="İki" v-model="secilen">
<label for="iki">İki</label>
<span>Seçilen: {{ secilen }}</span>
Vue.component('benim-bileşenim', {
template: '<div>Özel bir bileşen!</div>'
})
var BileşenA = { /* ... */ }
new Vue({
components: {
'bileşen-a': BileşenA
}
})
<blog-yazisi baslik="Vue ile Yolculuğum"></blog-yazisi>
Vue.component('benim-bileşenim', {
props: {
propA: Number,
propB: [String, Number],
propC: {
type: String,
required: true
},
propD: {
type: Number,
default: 100
},
propE: {
type: Object,
default() {
return { mesaj: 'merhaba' }
}
}
}
})
Vue.component('özel-girdi', {
props: ['değer'],
template: `
<input
v-bind:value="değer"
v-on:input="$emit('input', $event.target.value)"
>
`
})
<gezinme-bağlantısı url="/profil">
Profiliniz
</gezinme-bağlantısı>
<temel-düzen>
<template v-slot:başlık>
<h1>Burası bir sayfa başlığı olabilir</h1>
</template>
<p>Ana içerik için bir paragraf.</p>
<template v-slot:altbilgi>
<p>İşte bazı iletişim bilgileri</p>
</template>
</temel-düzen>
<component v-bind:is="mevcutSekmebileseni"></component>
Vue.component('asenkron-örnek', function (resolve, reject) {
setTimeout(function () {
resolve({
template: '<div>Ben asenkronum!</div>'
})
}, 1000)
})
<transition name="solma">
<p v-if="göster">merhaba</p>
</transition>
.solma-enter-active, .solma-leave-active {
transition: opacity .5s;
}
.solma-enter, .solma-leave-to {
opacity: 0;
}
var benimKarisimim = {
created() {
this.merhaba()
},
methods: {
merhaba() {
console.log('karışımdan merhaba!')
}
}
}
var Bileşen = Vue.extend({
mixins: [benimKarisimim]
})
Vue.directive('odak', {
inserted: function (el) {
el.focus()
}
})
Vue.filter('buyukHarf', function (değer) {
if (!değer) return ''
değer = değer.toString()
return değer.charAt(0).toUpperCase() + değer.slice(1)
})
Vue.use(BenimEklentim, { birSecenek: true })
const depo = new Vuex.Store({
state: {
sayac: 0
},
mutations: {
artir (state) {
state.sayac++
}
},
actions: {
artir (context) {
context.commit('artir')
}
},
getters: {
ikiKatSayac: state => {
return state.sayac * 2
}
}
})
const yonlendirici = new VueRouter({
routes: [
{ path: '/foo', component: Foo },
{ path: '/bar', component: Bar }
]
})
const app = new Vue({
router
}).$mount('#app')
<router-link to="/foo">Foo'ya Git</router-link>
<router-link to="/bar">Bar'a Git</router-link>
yonlendirici.push('ana-sayfa')
yonlendirici.push({ path: 'ana-sayfa' })
yonlendirici.push({ name: 'kullanici', params: { kullaniciId: '123' } })
2024 © Tüm hakları saklıdır - buraxta.com