Vue 允许改变 props,但不推荐。在文档(https://vuejs.org/guide/components/props.html#one-way-data-flow)中我发现
作为最佳实践,您应该避免此类突变 [通过子级改变嵌套 props],除非父级和子级在设计上紧密耦合。
对我来说,这听起来不是一个好的做法,但没关系。然而,在我发现的所有论坛帖子中,他们都说“永远不要这样做!”之类的话。并且父组件的重新渲染甚至可能会损坏数据(即Vue 2 - Mutating props vue-warn)。
如果由我决定,我会坚持建议,而不是争论这一点。然而,我工作的团队广泛使用 prop 突变。
目前为止还可以,但是我担心将来可能会出现问题。在未来的版本中,Vue 是否真的会禁止这样做?或者他们应用了仅与遵循建议的代码兼容的细微更改?
我想知道的是,其他人如何处理对象深处发生变化的情况。当通过发出来完成此操作时,在其间的所有组件中也需要大量发出。
了解道具突变的做法是多么不常见也很有趣。你们中有人也这样做吗?