好像2.0之后props里面的属性就不能在组件内部改变值了,只能通过外部传入,但是有时候组件内部也需要修改这个值并反应给父组件要怎么做呢。
回复 (5)
Y
2.x 是推荐单向数据流而不是双向绑定的, 如果父组件需要子组件在某个时机修改值, 可以选择通过props传递一个回调函数给子组件, 让其在指定时机触发, 回调函数的内容由父组件决定, 比如更新你想要的那个值
F
引用 yinxin6302.x 是推荐单向数据流而不是双向绑定的, 如果父组件需要子组件在某个时机修改值, 可以选择通过props传递一个回调函数给子组件, 让其在指定时机触发, 回调函数的内容由父组件决定, 比如更...
@yinxin630 除了这种方式,有没有更好的,比如我不用prop,用其他的,因为回调太多也是麻烦事
B
引用 FlyerJay@yinxin630 除了这种方式,有没有更好的,比如我不用prop,用其他的,因为回调太多也是麻烦事
@FlyerJay event bus或者vuex
来自酷炫的 CNodeMD
T
试试 v-model 语法糖
- 从父组件传入
v-model - 子组件通过
value接收参数 - 子组件通过
this.$emit('input', newValue)同步v-model的值
M
除了event bus或者vuex,还有两种方法 1.参数object形式,修改object时,vue会认为对象地址没变,从而对象就没有改变,完美避开了双向绑定 2.采用内部data控制,参数改变时,用watch同步data,在子组件内部,形成伪双向绑定效果
参与回复
登录后即可参与回复。登录