vue父组件给子组件传值问题

1、父组件给子组件通过 props 传值,第一次接收不到怎么处理?

示例代码
父组件:

<template>
    <child :params='form'></child>
</template>
<script>
    export default {
        data() {
            return {
                form: {}
            }
        },
        methods: {
            getParams(val) {
                this.form = val
            }
        }
    }
</script>

子组件:

<template>
    <div>
        {{params}}
    </div>
</template>
<script>
    export default {
        props:{
            params: {
                type: Object,
                default: {}
            }
        }
    }
</script>

示例代码上的 params 第一次会取不到值 第二次就可以了

阅读 4.3k
3 个回答

propstypeString默认值是Object控制台没给你报错吗?

export default {
    data() {
        return {
            form: ''
        }
    },

试下

赋值改成this.$set(this,'form', val)呢?
感觉像是后增加的对象没有监听到

还有一种解决方式
<child :params='form' v-if='status'></child>

data() {

return {
    form: {},
    status: false
}

}

getParams(val) {

this.form = val
this.status = true

}

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题