【发布时间】:2019-06-16 06:13:29
【问题描述】:
这是我编写的代码,问题是 v-model 没有绑定 dom 中的数据,我使用的 axios 正在返回值但它没有绑定到 dom 中:
<template>
<v-container fluid>
<v-layout>
<v-flex md4 sm6 offset-sm3>
<v-card class="card" color="brown">
<v-card-title class="headline grey--text">Your Card Details</v-card-title>
<v-flex ma-2>
<v-form class="form" ref="form" mt-2>
<v-text-field v-model="info.name"></v-text-field>
<v-text-field v-model="info.userName"></v-text-field>
<v-text-field v-model="info.card"></v-text-field>
<v-text-field v-model="info.expireDate"></v-text-field>
<v-text-field v-model="info.cvv"></v-text-field>
<v-btn @click="submit" flat color="success">Submit</v-btn>
<v-btn @click="reset" flat color="error">Reset</v-btn>
</v-form>
</v-flex>
</v-card>
</v-flex>
</v-layout>
</v-container>
</template>
<script>
import axios from "axios";
export default {
data() {
return {
info: [],
valid: true
}
},
created() {
axios
.get("https://localhost:44311/api/payment-access")
.then(res => this.info = res.data);
},
methods: {
reset() {
this.$refs.form.reset();
},
submit() {
axios.get("https://localhost:44311/api/payment-access").then(res => {
this.info = res.data;
console.log(this.info);
console.log("Yippy");
});
}
}
};
</script>
<style scoped>
.card {
border-radius: 20px;
}
</style>
【问题讨论】:
-
请以文本形式提供代码
-
您将
info: []定义为数组,但稍后您将其用作对象。您应该从info: {name: '', userName: '', card: '', ...}开始定义它,您需要在其中指定将用作模型的所有字段。阅读更多关于Change Detection Caveats -
@BoussadjraBrahim 我尝试上传代码本身,但无法很好地对齐,我是
-
尝试将其粘贴到此处pastebin.com 并给我链接,我将通过格式化来编辑您的问题
-
@BoussadjraBrahim 我尝试上传代码本身,但无法正确对齐,所以请多多包涵,并提供解决方案如果可以,@ljubadr 我将其声明为数组,但是当我在承诺返回后将 response.data 分配给 info 属性时,它会起作用,但由于某种我不知道它现在不起作用的原因。
标签: javascript vue.js axios vuetify.js