美文网首页
作用域插槽 slot-scope

作用域插槽 slot-scope

作者: 祈念念念 | 来源:发表于2019-01-04 21:49 被阅读0次

title: 作用域插槽 slot-scope
date: 2018-12-15 22:56:39
tags: [Vue]
categories: Vue


前言

最近发现之前学的有些知识点都忘了...还是记博客吧。

作用域插槽

一个组件中有一个插槽,我们在插槽里写一个div,那么这个div就会被渲染到这个组件里,但是这个div又想调用这个组件里的数据或方法,那怎么办呢?我们可以加一个变量,把它带进插槽中。
简单来说:作用域插槽是一个带绑定数据的插槽。

举例

// 父组件
<template>
  <div id="app">
    <child>
      <template slot-scope="{close}">  // 解构
        <!-- 插槽获得了组件的 close 方法 -->
        <button @click="close"></button>
      </template>
    </child>
  </div>
</template>
<script>
import child from './child';
export default {
  name: 'app',
  components: {
    child
  }
}
</script>
//子组件
<template>
  <div class="child">
    <!-- 将 close 方法作为一个插槽的 prop 传入 -->
    <slot :close='close'></slot>
  </div>
</template>
<script>
export default {
  methods: {
      close() {
        console.log('close')
      }
  }
}
</script>

同理,如果插槽是一个组件呢?子组件就能拿到父组件的数据了。
所以其实这也是 Vue 中父子组件传递数据的一种方式。

相关文章

网友评论

      本文标题:作用域插槽 slot-scope

      本文链接:https://www.haomeiwen.com/subject/hrztrqtx.html