为什么 Vue 提倡 props 单向数据流?
让状态归属明确,通过事件表达子组件的修改意图。
参考答案
父组件拥有状态,子组件通过 props 接收数据,通过事件请求父组件更新,使数据流向可追踪。直接修改 props 会让状态来源变得模糊。
对象和数组作为 props 传入时,子组件技术上可能修改其嵌套内容,因为它们共享引用;这不意味着应当这样设计。通常应发出事件,或者让父组件传入明确的操作函数。
组件 v-model 可以把 prop 与更新事件的约定简化,但本质上仍需要清晰的数据所有权。