1010011010
V2EX  ›  问与答

[Vue] 如何在子组件的插槽里使用子组件的值?

  •  
  •   1010011010 · Feb 23, 2020 · 2178 views
    This topic created in 2300 days ago, the information mentioned may be changed or developed.

    子组件的模板是这样子:

    <template>
        <div>
            <slot>
                {{value()}}
            </slot>
        </div>
    </template>
    

    结果:

    <div>
        (子组件值)
    </div>
    

    想要给子组件值套一层容器,应该怎么做呢?

    <component>
        <span>
            {{component_value()}}
        </span>
    </component>
    

    期望结果:

    <div>
        <span>
            (子组件值)
        </span>
    </div>
    

    尝试过引用子组件但是行不通:访问子组件实例或子元素

    $refs 只会在组件渲染完成之后生效,并且它们不是响应式的。

    这仅作为一个用于直接操作子组件的“逃生舱”——你应该避免在模板或计算属性中访问 $refs。

    这只能传入模板做模板替换了吗

    1 replies    2020-02-24 09:37:17 +08:00
    1010011010
        1
    1010011010  
    OP
       Feb 24, 2020
    父组件用 props 传递数据到子组件,子组件用 事件 传递数据到父组件
    https://cn.vuejs.org/v2/guide/components-props.html#单向数据流

    子组件值每秒更新一次,潜意识总觉得这不是事件,陷入了误区。。。
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Solana   ·   2929 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 32ms · UTC 15:15 · PVG 23:15 · LAX 08:15 · JFK 11:15
    ♥ Do have faith in what you're doing.