Vue.js 变量在父VUEJ中已更改,但在子VUEJ中未更改
在父组件发出post请求后,我尝试更改一个布尔变量Vue.js 变量在父VUEJ中已更改,但在子VUEJ中未更改,vue.js,vuejs2,Vue.js,Vuejs2,在父组件发出post请求后,我尝试更改一个布尔变量isSubmited,这将触发子组件的监视,并且将有另一个post请求使用ID表单first response 流从父组件开始 用户点击提交 在parent中,我创建了一个新合同,并从response中收到一个ID(在发出post请求后) 在post请求之后,我更改了一个布尔值,以从child激活手表 在子组件中,我将做另一篇使用ID表单父响应的文章 基本上有两个post请求,第一个在父级,第二个在使用父级ID的子级 来自父组件 <upl
isSubmited
,这将触发子组件的监视,并且将有另一个post请求使用ID表单first response
流从父组件开始
<upload-file-test :id_contract="id_contract" :isSubmited="isSubmited" ></upload-file-test>
addContract(data) {
this.isSubmited = !this.isSubmited; //from here in child component watch it works
post("/url", data)
.then((response) => {
this.id_contract = response.data;
this.isSubmited = !this.isSubmited; //from here in child component is not changed
}
}
props: ['id_contract', 'isSubmited']
watch:{
isSubmited: {
handler(){
console.log('Submited');
//here will be a method for post request
}
},
}
正如您在下面的示例中所看到的,更改承诺中的变量会正确触发观察者 我认为你的帖子失败了,因此实际上没有改变
提交的
你应该抓住错误
post(“/url”,数据)。然后(响应=>{
this.id_contract=response.data;
this.isSubmited=!this.isSubmited;
}).catch(错误=>{
日志(“post失败”)
});
Vue.config.devtools=false;
Vue.config.productionTip=false;
var app=新的Vue({
el:“#应用程序”,
数据:{
布尔:错
},
方法:{
测试(){
this.bool=!this.bool;
取回(“https://jsonplaceholder.typicode.com/todos/1)然后(()=>{
this.bool=!this.bool;
});
}
},
观察:{
布尔:{
handler(){
控制台日志(“更改”);
}
}
}
})
测试
正如您在下面的示例中所看到的,更改承诺中的变量会正确触发观察者
我认为你的帖子失败了,因此实际上没有改变提交的
你应该抓住错误
post(“/url”,数据)。然后(响应=>{
this.id_contract=response.data;
this.isSubmited=!this.isSubmited;
}).catch(错误=>{
日志(“post失败”)
});
Vue.config.devtools=false;
Vue.config.productionTip=false;
var app=新的Vue({
el:“#应用程序”,
数据:{
布尔:错
},
方法:{
测试(){
this.bool=!this.bool;
取回(“https://jsonplaceholder.typicode.com/todos/1)然后(()=>{
this.bool=!this.bool;
});
}
},
观察:{
布尔:{
handler(){
控制台日志(“更改”);
}
}
}
})
测试
post(/url`,data)
post(/url`,data)
post(/url`,data)
post(/url`,data)
post(/url`,data)引号不匹配:post(/url`,data)
谢谢,但我发现了问题。我有一个路由器。推,重置值。我用setTimeout来修复它,并将它放在响应的末尾。谢谢,但是我发现了问题。我有一个路由器。推,重置值。我用setTimeout来修复它,并将它放在响应的末尾。