在 Vue.js 2 中将 props 作为初始数据传递的正确方法是什么?方法 1方法 2方法 3脚注
所以我想把 props 传递给一个 Vue 组件,但是我希望这些 props 将来会从该组件内部发生变化,例如,当我使用 AJAX 从内部更新该 Vue 组件时。因此,它们仅用于组件的初始化。
我的 Vue 组件元素,其中我将具有初始属性的 prop 传递给 :cars-list
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
this.data.properties
created()
// 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>
但我的问题是,我不知道这是否是正确的方法?在路上不会给我带来一些麻烦吗?还是有更好的方法来做到这一点?