Javascript 子组件没有';道具更改时,无法更新

Javascript 子组件没有';道具更改时,无法更新,javascript,vue.js,vuejs2,vue-component,axios,Javascript,Vue.js,Vuejs2,Vue Component,Axios,我很难理解vue js的反应性是如何工作的。我试图为各种ajax调用创建一个组件,问题是当我更改要传递给组件的道具时,它不会得到数据中的更改 Vue.component('api-call-template'{ 模板:“#api调用模板”, 道具:{ apiCallParams:对象 }, 数据(){ 返回{ 结果:[], 加载:错误 } }, 创建(){ console.log(“已输入?”) console.log(this.apiCallParams); var vm=这个; vm.lo

我很难理解vue js的反应性是如何工作的。我试图为各种ajax调用创建一个组件,问题是当我更改要传递给组件的道具时,它不会得到数据中的更改

Vue.component('api-call-template'{
模板:“#api调用模板”,
道具:{
apiCallParams:对象
},
数据(){
返回{
结果:[],
加载:错误
}
},
创建(){
console.log(“已输入?”)
console.log(this.apiCallParams);
var vm=这个;
vm.loading=true;
axios({
方法:this.apiCallParams.method,
url:this.apiCallParams.url,
数据:this.apiCallParams.params
}).然后(功能(响应){
vm.result=response.data;
vm.loading=false;
vm.$emit('get-response',response);
});
console.log(vm.loading)
}
});
var vm=新的Vue({
el:“#应用程序”,
数据:{
APICALLPARMS:{
url:“”,
方法:“”,
参数:{}
},
作者:'aa'
},
创建(){
this.apiCallParams.url='0https://reqres.in/api/users/1';
this.apiCallParams.method='get';
console.log(“传递此消息”);
console.log(this.apiCallParams);
},
方法:{
搜索(){
console.log(“搜索”)
this.url=https://reqres.in/api/users/2';
this.apiCallParams.method='get';
},
getResponse(响应){
控制台日志(“返回到父级”);
控制台日志(响应);
}
}
});

试试{{title}
{{title}}
{{作者}
{{content}}


您只调用了一次,因为您的逻辑位于
created()
,它只调用一次(在创建组件时)

考虑到您的组件:

<api-call-template :api-call-params="apiCallParams" @get-response="getResponse">...

下一个用户
加载
结果
{{res.first_name}}