2017-07-23 3 views
1

Ich versuche, einen Requisitenwert und einen Formularwert an den Backend-Controller mit Axios übergeben. Aber es sendet nur einen Formularwert, nicht den Requisitenwert. Mein Code ist -Pass mehrere Parameter von POST Axios Vue

<template> 
    <form @submit.prevent='onSubmit'> 
     <div class="media-comment"> 
      <input type="text" v-model='form.comment' class="form-control" placeholder="comment..."> 
     </div> 
    </form> 
</template> 

<script> 
    export default { 
     props: ['postId'], 

     data() { 
      return { 
       form: new Form({comment: ''}), 
       id: this.postId 
      } 
     }, 

     methods: { 
      onSubmit() { 
       console.log(this.postId); // it shows the value in console but the value doesnt pass 
       this.form 
        .post('comments', this.data) 
        .then(post => this.$emit('completed', comment)); 
      } 
     } 
    } 
</script> 

in der Konsole zeigt nur den Kommentar, nicht die Stütze Wert:

enter image description here

Wie beiden Werte passieren ??

Dank im Voraus

+0

Haben Sie versucht, '.post ({Beitrag: this.data, id: this.id}' – Phorce

Antwort

0

hier bekam ich die Lösung.

<template> 
    <form @submit.prevent='onSubmit'> 
     <div class="media-comment"> 
      <input type="text" v-model='comment' class="form-control" placeholder="comment..."> 
     </div> 
    </form> 
</template> 

<script> 
    export default { 
     props: ['postId'], 

     data() { 
      return { 
       comment: '' 
      } 
     }, 

     methods: { 
      onSubmit() { 
       axios.post('comments', {comment: this.comment, id: this.postId}) 
        .then(post => this.$emit('completed', comment)); 
      } 
     } 
    } 
</script> 
+1

'Comment' definiert ist, nicht weil sein ... nicht definiert Sie verwenden sollten,' das $ emittieren.. ('completed', this.comment) '. – Bert

+0

Danke Bruder .. funktioniert gut, aber mit einem großen Fehler .. Screenshot: https://ibb.co/gqWFfQ – WahidSherief

+0

@WahidSherief basierend auf dem Screenshot, es scheint, dass es ein Variable "Name" in der "Dashboard" -Komponente, die reaktiv ist, und beim Laden von Komponenten ist der Name noch nicht definiert (ausstehende Anforderung an Backend?). Um das Problem zu beheben, können Sie das Teil in das v-if einfügen –