CNode

vue 2.x组件属性props如何实现双向绑定呢?

问答
FFlyerJay发布于10 年前最后回复10 年前5 回复14409 浏览0 收藏

好像2.0之后props里面的属性就不能在组件内部改变值了,只能通过外部传入,但是有时候组件内部也需要修改这个值并反应给父组件要怎么做呢。

查看回复

回复 (5)

Y
yinxin630#1·10 年前

2.x 是推荐单向数据流而不是双向绑定的, 如果父组件需要子组件在某个时机修改值, 可以选择通过props传递一个回调函数给子组件, 让其在指定时机触发, 回调函数的内容由父组件决定, 比如更新你想要的那个值

T
think2011#4·10 年前

试试 v-model 语法糖

  1. 从父组件传入 v-model
  2. 子组件通过 value 接收参数
  3. 子组件通过 this.$emit('input', newValue) 同步 v-model 的值
M
marsprince#5·10 年前

除了event bus或者vuex,还有两种方法 1.参数object形式,修改object时,vue会认为对象地址没变,从而对象就没有改变,完美避开了双向绑定 2.采用内部data控制,参数改变时,用watch同步data,在子组件内部,形成伪双向绑定效果

参与回复
登录后即可参与回复。登录