我想检索文章版本的信息,但遇到错误
我的控制器
public function show($id){
return new PostResource(post::where('id',$id)->findOrFail($id));
}
export default {
data() {
return {
form: new Form({
id: '',
title: '',
})
}
},
methods:{
updateItem() {
this.form.put('/api/orders/posts/' + this.form.id)
....
},
created(){
axios.get(`/api/orders/posts/${id}`).then(({data}) => this.form.fill(data));
}
}
[Vue warn]: Error in created hook: "ReferenceError: id is not defined"
found in
---> <UpdatePage> at resources/js/components/user/orders/post/Updatepage.vue
<Root> app.js:112186:15
ReferenceError: "id is not defined"
答案 0 :(得分:0)
我认为您应该尝试替换该行
axios.get(`/api/orders/posts/${id}`).then(({data}) => this.form.fill(data));
那样
axios.get(`/api/orders/posts/${this.$router.params.id}`).then(({data}) => this.form.fill(data));
它将寻找一个id
路由参数(如果设置的名称不是id
,则必须更改该参数的名称。我也将从mounted
而不是created
(mounted
之前已运行,将避免看到空白表格)。
此外,您可以在控制器中编写更简单的代码形式:
public function show($id){
return new PostResource(post::findOrFail($id));
}
甚至
public function show(post $post){
return new PostResource($post);
}
如果设置正确的配置。
让我知道它是否对您有帮助:)
答案 1 :(得分:0)
尝试
axios.get(`/api/orders/posts/${this.$router.params.id}`).then(({data}) => this.form.fill(data.data));