vue官网在讲解props的单向数据流时提到:额外的,每次父级组件发生更新时,子组件中所有的 prop 都将会刷新为最新的值。这意味着你不应该在一个子组件内部改变 prop。如果你这样做了,Vue 会在浏览器的控制台中发出警告。但是我测试,直接修改props的值,并未给出任何警告。大家有遇到吗?
2 回答
哔哔one
TA贡献1854条经验 获得超8个赞
接着往下看
在两种情况下,我们很容易忍不住想去修改 prop 中数据: Prop 作为初始值传入后,子组件想把它当作局部数据来用; Prop 作为原始数据传入,由子组件处理成其它数据输出。 对这两种情况,正确的应对方式是: 定义一个局部变量,并用 prop 的值初始化它: props: ['initialCounter'], data: function () { return { counter: this.initialCounter } } 定义一个计算属性,处理 prop 的值并返回: props: ['size'], computed: { normalizedSize: function () { return this.size.trim().toLowerCase() } }
添加回答
举报
0/150
提交
取消