javascript - Vue.js 组件与子组件的通信

标签 javascript vue.js vuejs2

我想在Vue中制作一个 slider 我有 2 个组件“Slider”和“SliderItem” 一个“Slider”可以有多个“SliderItem” 我如何在这两个组件之间进行内部通信
用法示例

<Slider>
    <SliderItem>
        <h1>Slide 1</h1>
    </SliderItem>
    <SliderItem>
        <h1>Slide 2</h1>
    </SliderItem>
</Slider>

slider 组件

<template>

    <div>
        <slot :i="index"></slot>
    </div>
</template>

<script>
export default {
    data() {
        return { index : 0 };
    }
};
</script>

如何将当前索引传递给子项 (SliderItem)
所以我可以根据从父级( slider )传递的索引显示/隐藏它们
同样的,我怎样才能实现 child 与家长的沟通
例如在 React 中可以这样做

const childrenWithProps = React.Children.map(this.props.children,
 (child) => React.cloneElement(child, {
   index: this.state.index
 })
);


我想在 Vue 中做同样的事情

最佳答案

使用props将数据传递给子级,以及 events将数据从子级传递回父级。 child 与 child 的沟通是通过 parent 完成的。

请仔细研究文档,因为您会在那里找到您需要的大部分内容。祝你好运!

关于javascript - Vue.js 组件与子组件的通信,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47127744/

相关文章:

vuejs2 - Vue 2检查元素在视口(viewport)上是否可见

javascript - 删除 HTML 表单方法 GET 中的查询字符串 "?"

javascript - &lt;script&gt; 在 HTML 文件中不起作用

javascript - Vue 表单向导 : Make the tab index dynamic by the route

vue.js - 如何在 Vuetify 菜单中突出显示所选项目?

javascript - 根据 URL 中的参数调用 Firebase 中的特定字段时遇到问题

javascript - 将外部js文件包含在(webpack和vue2)中的最佳方法是什么

javascript - 如何使用 VueJs 阻止文本区域中的某些字符?

javascript - 格式化请求正文以将多部分/相关上传到谷歌云存储

javascript - eventListener 被添加到父元素,但子元素干扰