组件之间传值的方式

165 阅读1分钟
  1. Props(属性):

    • 父组件通过props向子组件传递数据,子组件通过props接收数据。
    • 适用于父子组件之间的数据传递。
  2. 自定义事件(Event):

    • 子组件通过触发事件将数据发送给父组件,父组件通过监听事件来接收数据。
    • 适用于子组件向父组件传递数据。
  3. 事件总线(Event Bus):

    • 通过创建一个全局事件中心(Event Bus),组件通过事件的发布与订阅来传递数据。
    • 适用于非父子组件之间的数据传递。
  4. Vuex(状态管理):

    • 使用Vuex实现全局状态管理,允许不同组件之间共享和修改状态。
    • 适用于大型应用程序或多个组件之间的复杂数据传递。
  5. $refs:

    • 使用$refs来获取子组件的引用,从而直接访问和修改子组件的数据和方法。
    • 适用于父组件直接操作子组件的数据。
  6. Provide / Inject:

    • 父组件通过provide选项提供数据,子组件通过inject选项注入数据。
    • 适用于祖先组件向后代组件传递数据,可以跨越多层组件。
  7. $attrs$listeners

    • 使用$attrs来传递父组件的非prop属性给子组件,使用$listeners来将父组件的事件监听器传递给子组件。
    • 适用于需要在子组件中传递父组件的属性和事件监听器。
  8. 通过全局变量或常量:

    • 在适当的位置创建全局变量或常量,并在组件中进行访问和修改。
    • 适用于简单的数据共享或配置信息的传递。