laravel: obtiene el primer objeto de una matriz de objetos vuejs

CorePress2024-01-25  12

¿Cómo puedo obtener una matriz del primer ID del objeto?

aquí está el contenido de mi matriz

0: {id: 1, user_id: 1, user2_id: 2, creado_at: "2021-03-22T16:37:10.000000Z",…}

1: {id: 7, user_id: 1, user2_id: 3, creado_at: "2021-03-24T16:24:47.000000Z",…}

2: {id: 8, user_id: 1, user2_id: 1, creado_at: "2021-03-24T18:19:21.000000Z",…

<script>

export default 
{    
    data(){
    return{
        convs_id: [],
        convs: [],
        }
 
    },
    
    created(){
        
        this.fetchConversation();
        this.convs_id = this.convs[0].id;
        console.log(this.convs_id);
    },
    methods:
    {
        fetchConversation()
        {
            axios.get('getConvs').then(response=>{
                this.convs = response.data;
                
            });
            
        }
    }
}


------------------------------------

this.convs se completa cuando se resuelve la llamada para obtener los datos. Entonces, para poder usarlo debes esperar a que se resuelva esa promesa.

Para poder esperar una promesa, debes devolverla. tan fetochConversation() necesita devolver axios.get() (que es la promesa que estarás esperando):

methods:{
  fetchConversation() {
    return axios.get('getConvs').then(response => {
      this.convs = response.data;
    });
  }
}

Ahora que fetchConversation() devuelve la promesa, tienes dos formas de esperarla: crear async y usar await:

async created() {
  await this.fetchConversation();
  console.log(this.convs[0]);
}

o llamar al método .then() en la promesa:

created() {
  this.fetchConversation().then(() => {
    console.log(this.convs[0]);
  })
}

0



------------------------------------

En la devolución de llamada exitosa, extraiga el primer elemento:

export default 
{    
    data(){
      return {
           convs_id: null,
           convs: [],
        }
    },
    created(){
        this.fetchConversation();
       
    },
    methods:
    {
        fetchConversation()
        {
            axios.get('getConvs').then(response=>{
                this.convs = response.data;
                let [firstConvs]=this.convs;// es6 syntax of destructing the array
                 this.convs_id = firstConvs.id;
   
            });
            
        }
    }
}

Su guía para un futuro mejor - libreflare
Su guía para un futuro mejor - libreflare