开发者社区> 问答> 正文

VueJS V-bind:sync="{object}" —监视从父级中的子级发出的数据

已解决

我正在编写一个应用程序,其中我有一个传递对象的父组件js this.form ,
通过js v-bind:sync="form" 子
窗体在@input上为父窗体的每个键发出值。 我想看看js this.form 但
是在v-bind:sync的情况下,父对象上的对象似乎没有反应,即使是在我提交的父对象中的提交操作上js this.form 所
有从孩子身上发出的值。 代码示例父级:

<ParentComponent>

  <ChildComponent v-bind:sync="form"/>

  {{form}} <--- this doesn't update after child component emits

   <button @click="submit"> submit actions here have access to updated this.form... </button>
</ParentComponent>

...

data() {
  return {
      form: { ...some object keys}
}

展开
收起
sossssss 2019-12-09 16:12:47 2151 0
1 条回答
写回答
取消 提交回答
  • 采纳回答

    你可以用js deep 在
    监视器中观察对象属性的变化。

    大约

    watch: {
        form: {
          handler() {
            console.log('form change')
          },
          deep: true
        }
      },
    

    就像在https://vuejs.org/v2/api/#vm-options 要检测对象内部嵌套值的变化,您需要在options参数中输入deep: true。请注意,您不需要这样做来监听阵列突变。 我创建了一个演示https://codepen.io/ittus/pen/zYxrBGX

    2019-12-09 16:15:29
    赞同 展开评论 打赏
问答分类:
问答标签:
问答地址:
问答排行榜
最热
最新

相关电子书

更多
Vue.js 在前端服务化上的探索与实践 立即下载
利用编译将 Vue 组件转成 React 组件 立即下载
Vue.js在前端服务化上的实践与探索 立即下载