我们自定义组件的时候有时候需要往组件里面插一些内容:

//定义一个组件test,插值内容用slog来代替
export default {
   name: 'test',
   template:`
        <div>
            <div>这里是test组件</div>
            <slot name="content1"></slot>
            <slot name="content2"></slot>
        </div>
    ` 
}

调用组件的时候

new Vue({
   el: '#app',
   components: { test },
   template:`
        <div>
            <test>
                <div slot="content1">这是插值内容1</div>
                <div slot="content2">这是插值内容2</div>
            </test>
        </div>
    ` 
}) 

 

 

 

当然我们也可以不定义slotName全部引入

//定义一个组件test,插值内容用slog来代替
export default {
   name: 'test',
   template:`
        <div>
            <div>这里是test组件</div>
            <slot></slot>
        </div>
    ` 
}

slot没有name属性的时候就会插入那些没有slot属性的插入内容,例如下面的’这是插值内容2‘会被插入到<slot></slot>的位置,但是‘这是插值内容1’就不会被插入了

new Vue({
   el: '#app',
   components: { test },
   template:`
        <div>
            <test>
                <div slot="content1">这是插值内容1</div>
                <div>这是插值内容2</div>
            </test>
        </div>
    ` 
}) 

 

相关文章:

  • 2021-07-18
  • 2021-12-13
  • 2021-12-20
  • 2021-07-18
猜你喜欢
  • 2022-12-23
  • 2021-11-19
  • 2022-02-24
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2021-11-28
相关资源
相似解决方案