Merhabalar herkese Vue ile bir basit bir todolist app'i geliştiriyordum bir şey kafama takıldı nedenini bir türlü anlayamdım.. Sorum şu :
const app = new Vue({
el: '#app',
name: 'Uzaktan Kurs',
data: {
dataList :[
{Id:0,Title:'Ders Notlarını Hazırla',Status:true,List:'is'},
{Id:1,Title:'Php Proje başla',Status:true,List:'is'},
{Id:2,Title:'Kahve Al',Status:false,List:'Genel'},
{Id:3,Title:'Kitap Okumak',Status:false,List:'Eğitim'}
],
newTodo :{
Title : ''",
Status :false
}
},
methods:{
addNewTodo(){
if(this.newTodo.Title !== ''){
this.newTodo.list = 'Genel';
let x = this.dataList.length++; // bu yol calisiyor
this.newTodo.Id = x++; // bu yol calisiyor
this.newTodo.Id = this.dataList.length++; // bu yol yeni todo olustuyor ama once undefined object olusturuyor
this.dataList.push(this.newTodo);
this.newTodo ={}
}
}
},
Şimdi ben burada yeni bir todo eklerken yukardaki adımlar ile ekliyorum fakat yukarıda yorum satırı ile de belirttiğim gibi eğer yeni todonun Id degerini ben this.datalist.lenght++ diyerek eşitlersem dataliste yeni todo eklerken yeni tododan önce undefined olan bir object ekliyor fakat this.datalist.lenght'i bir değişkene atıp o değişkeni arttırıp this.newTodo.Id = x++;
dediğimde sorun yok? Consolda baktım typeof()
fonksiyonu ile this.dataList.length bana number döndürüyor sorun yok aslında bu durumun sebebi nedir bir şeyi mi gözden kaçırıyorum ?