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

2020-02-23 15:18:11 +08:00
 1010011010

子组件的模板是这样子:

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

结果:

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

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

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

期望结果:

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

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

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

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

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

1483 次点击
所在节点    问与答
1 条回复
1010011010
2020-02-24 09:37:17 +08:00
父组件用 props 传递数据到子组件,子组件用 事件 传递数据到父组件
https://cn.vuejs.org/v2/guide/components-props.html#单向数据流

子组件值每秒更新一次,潜意识总觉得这不是事件,陷入了误区。。。

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/646817

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX