美文网首页
作用域插槽 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