我想知道為什么 vue 有時只顯示資料。我正確地傳遞了 selectedclient 但 selectedclient.name 等只是間歇性地顯示。有沒有人知道發生了什么?我正在為 api 使用 vue2 和 laravel。有時這一切似乎都有效,但有時卻無效。我有點困惑...
<template>
<div>
<b-form @submit.prevent="editclient">
<b-form-group
label="Client Name"
label-for="clientname"
>
<b-form-input
v-model="clientname"
id="clientname"
></b-form-input>
</b-form-group>
<b-form-group
label="Client Email"
label-for="clientemail"
>
<b-form-input
type="email"
v-model="clientemail"
id="clientemail"
></b-form-input>
</b-form-group>
<b-form-group
label="Client Phone"
label-for="clientphone"
>
<b-form-input
v-model="clientphone"
id="clientphone"
></b-form-input>
</b-form-group>
<b-form-group
label="Client Address"
label-for="clientaddress"
>
<b-form-input
v-model="clientaddress"
id="clientaddress"
></b-form-input>
</b-form-group>
<b-button type="submit">Submit</b-button>
</b-form>
</div>
</template>
<script>
import axios from 'axios';
export default {
name: 'EditClient',
props: ['selectedclient'],
data () {
return {
clientname: this.selectedclient.name,
clientemail: this.selectedclient.email,
clientphone: this.selectedclient.phone,
clientaddress: this.selectedclient.address
}
},
methods: {
editclient: async function () {
var id = this.selectedclient.id;
var name = this.clientname;
var email = this.clientemail;
var phone = this.clientphone;
var address = this.clientaddress;
var client = new Array(id, name, email, phone, address);
axios.post('http://localhost/ficticious/fApi/clientEdit', client)
.then(function (response) {
console.log(response);
})
.catch(function (error) {
console.log(error);
})
}
}
}
</script>
uj5u.com熱心網友回復:
這些是比解決方案更多的技巧:您不應該需要在資料中重新分配道具。東西應該是道具或資料。您可以將 v-model 放在資料上,但不能放在道具上,因為道具不會被修改。(你可以看看 .sync 嗎?)
要弄清楚發生了什么,您是否安裝了 vue devtools?
轉載請註明出處,本文鏈接:https://www.uj5u.com/gongcheng/366324.html
標籤:javascript Vue.js
