【问题标题】:How could I watch a prop in the composition api?我怎么能在 composition api 中观看道具?
【发布时间】:2021-07-06 22:51:25
【问题描述】:

如何在 prop 更新时调用函数?

父容器:

<div>     
  <Maintable :type="typeRef" :country="countryRef" />
</div>

子容器:

    export default{

    props: ['type'],
    
    setup(props)
    {   
        watch(props.type, () => {
            console.log('hello')
        })
    }

此代码出现错误:无效的监视源... 如何收听道具的更新?

希望有人能帮帮我!! :-)

【问题讨论】:

    标签: vue.js vuejs3 vue-composition-api vue-props


    【解决方案1】:

    尝试从函数返回道具作为第一个参数:

        export default{
    
        props: ['type'],
        
        setup(props)
        {   
            watch(()=>props.type, (newVal) => {
                console.log('hello')
            })
        }
    

    代替watch(props.type,做watch(()=>props.type,因为()=>props.type是返回prop的箭头函数,是watcher属性的参数

    【讨论】:

    • 谢谢你的回答,但很抱歉,我不明白你的意思:)
    • 不客气,我的意思是 watch(()=&gt;props.type, 而不是 watch(props.type,,因为 ()=&gt;props.type 是一个箭头函数,它返回 prop 并且它是 watcher 属性的参数
    • 请检查此问题的解决方案stackoverflow.com/questions/59125857/…
    • 谢谢,代码不需要太多解释,如果你使用返回prop的函数而不是直接将prop作为参数,代码就可以工作,这就是watch属性的设计方式
    猜你喜欢
    • 2021-09-26
    • 2021-03-19
    • 2020-03-26
    • 2022-06-29
    • 2021-06-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多