所以我想把props 传递给Vue组件,但我希望这些props 将来会在该组件内部发生变化,例如,当我使用AJAX从内部更新该Vue组件时.所以它们只用于组件的初始化.
我的cars-list
Vue组件元素,我将初始属性的props 传递到single-car
:
// cars-list.vue
<script>
export default {
data: function() {
return {
cars: [
{
color: 'red',
maxSpeed: 200,
},
{
color: 'blue',
maxSpeed: 195,
},
]
}
},
}
</script>
<template>
<div>
<template v-for="car in cars">
<single-car :initial-properties="car"></single-car>
</template>
</div>
</template>
我现在的做法是,在我的single-car
组件中,我将this.initialProperties
分配给created()
初始化钩子上的this.data.properties
.它是有效的,是react 性的.
// single-car.vue
<script>
export default {
data: function() {
return {
properties: {},
}
},
created: function(){
this.data.properties = this.initialProperties;
},
}
</script>
<template>
<div>Car is in {{properties.color}} and has a max speed of {{properties.maxSpeed}}</div>
</template>
但我的问题是,我不知道这样做是否正确?这不会在路上给我带来麻烦吗?还是有更好的方法?