目前我的类别组件正在创建http api调用。
因此,当我从索引转到类别时,http调用的结果是有效的。
但是现在当我改变类别,所以我从localhost:8080/category/1
转到localhost:8080/category/2
我的组件没有重新渲染,所以它不会再次创建,我的http调用函数不会再次触发我的意思喜欢。
async created() {
try {
console.log(this.id);
const response = await axios.get(`/api/category/getOne.php?id=${this.id}`, axiosConfig);
console.log(response.data.records[0].name);
this.category = [response.data.records[0].name];
} catch (e) {
this.errors.push(e);
console.log(this.errors);
}
}
你们有什么建议给我,我应该把这个http调用放在created ()
中,而不是放在methods {}
中,然后检测url id是否改变并在它改变时执行这个函数?或者有更好的vue方法呢?
答案 0 :(得分:0)
我将代码移到methods {}
以上并在created()
上调用它并且ID更改如下:
created() {
this.getData(this.id);
},
watch: {
'$route.params.id'(newId, oldId) {
this.getData(newId);
}
}
@Belmin Bedak在评论部分建议。