单向数据流,
根据
https://vuejs.org/v2/guide/components.html
,该组件遵循单向
数据流,
所有道具形成子属性和父属性之间的单向向下绑定,当父属性更新时,它将向下流向子而不是相反,这可以防止子组件意外地改变父组件,可以使您的应用程序的数据流更难理解。
另外,每次父组件都更新所有道具
在子组件中将刷新最新值。这意味着您不应该尝试改变子组件内的prop。如果你这样做.vue会警告你
安慰。
通常有两种情况,它很容易改变道具:
prop用于传递初始值;子组件之后想要将它用作本地数据属性。
prop是作为需要转换的原始值传递的。
这些用例的正确答案是:
定义使用prop的初始值作为其初始值的本地数据属性:
props: [‘initialCounter’],
data: function () {
return { counter: this.initialCounter }
}
</code>
定义根据prop的值计算的计算属性:
props: [‘size’],
computed: {
normalizedSize: function () {
return this.size.trim().toLowerCase()
}
}
</code>