laravel - 表单中的“TypeError:无法读取未定义的属性'标题'”
问题描述
当我尝试发布表单时返回错误。
表单在一个组件中,并且在另一个组件中使用相同的结构但不会产生任何错误。
我试图自己找出错误,但无法找到解决方案。
<template>
<div class="card" style="width: 18rem;margin:0 0 1rem 1rem;">
<div class="card-body">
<h4 class="mt-3 text-center" style="cursor:pointer;" @click="show=!show" >Add list</h4>
<form v-show="show" @submit.prevent="submitList">
<div class="form-group">
<label>Title</label>
<input type="text" class="form-control" :class="{'is-invalid':errors.title}" v-model="form.title"/>
<p class="text-danger" v-if="errors.title" v-text="errors.title[0]"></p>
</div>
<button type="submit" class="btn btn-lg btn-success mb-4">Submit</button>
</form>
</div>
</div>
</template>
<script>
export default {
data() {
return {
show : false,
form: {
title: '',
},
errors: {}
}
},
methods: {
submitList() {
axios.post('/list', this.form)
.then(({data}) => {
this.$emit('newList', data),
this.form.title = '',
this.show = false,
this.errors = {}
})
.catch(error => {
this.errors = error.response.data.errors
})
}
}
}
</script>
渲染错误:“TypeError:无法读取未定义的属性‘标题’”
解决方案
this
在方法开始处引用submitList
,然后在 axios 响应中使用该引用。
let that = this;
然后that.form.title;
submitList () {
let that = this;
axios.post('/list', this.form)
.then(({ data }) => {
that.$emit('newList', data),
that.form.title = '',
that.show = false,
that.errors = {}
})
.catch(error => {
that.errors = error.response.data.errors
})
}
推荐阅读
- python - 如何以列或漂亮的方式打印json
- laravel - php_network_getaddresses:getaddrinfo 失败:Hte inconnu
- excel - 查找 LastRow IF 的宏帮助
- python - 视图 main.views.change_password 没有返回 HttpResponse 对象。它返回 None 而不是
- c++ - 如何使用 openssl 1.1.1a 生成 SHA3
- asynchronous - 在 Flutter 中更新下拉数据会出错
- android - 如何合并分支并忽略flutter生成的二进制文件中的冲突?
- r - 遍历交易文件以得出产品的平均价格
- html - ID 为 oracle 的 BUTTON 应有 2.5em 的上边距,实心 1px 边框,并占用可用的水平空间
- c++ - 我想添加两个字符串类型的矩阵。用户不会输入行数或列数。用户将只输入数组