【发布时间】:2019-11-13 10:12:07
【问题描述】:
我有3个vue组件List、Car、AddNew
List.vue 是父组件,有 2 个这样的组件:
<add-new :cars-models="carModels"></add-new>
<car
v-for="(car, index) in items"
:key="car.id"
:data="car"
:car-models="carModels"
>
</car>
后来有这个:
data(){
return{
items:'',
carModels:''
}
}
,
created(){
axios.get('car-models')
.then(({data})=>{
this.carModels= data;
});
axios.get('cars')
.then(({data})=>{
this.items = data;
});
}
在 addNew.vue 我有这个:
props: ['carModels'],
data(){
return {
models:''
}
},
watch:{
carModels(){
this.models= this.carModels;
}
}
我不得不使用观察者,因为父组件中填充了carModels,这里可以吗,但是,在Car.vue
props: ['carModels'],
data(){
return {
models:''
}
},
watch:{
carModels(){
this.models= this.carModels;
}
}
正如你所看到的,它是一样的,但是 this.models 没有用道具 carModels 填充,尽管道具被填充了!。我不知道发生了什么。 谢谢
【问题讨论】:
-
控制台有错误吗?
标签: javascript vue.js axios vue-component