码迷,mamicode.com
首页 > 其他好文 > 详细

vue slot

时间:2017-11-01 13:27:54      阅读:95      评论:0      收藏:0      [点我收藏+]

标签:style   没有   size   rom   from   class   nbsp   col   bsp   

一般我发现slot都是用在子组件 不知道对不对,不对的请留言指教 ,谢谢谢谢

 

 

使用slot场景一:

子组件Minput.vue

<input type=‘text‘/>

 父组件 Minput 

<Minput>可以显示吗</Minput>

 这种情况下  Minput标签内的文字是不会渲染出来的

如果现在想在里面把文字渲染出来怎么办

好 用slot

子组件

<input type=‘text‘/>
<slot></slot>

 这样的话,父组件的里面的文字就可以渲染出来

 

 

场景二:具名插槽

子组件 he.vue

<header>
    <slot name=‘header‘></slot>
</header>

 父组件

<he>
    <h1 name=‘header‘>hello world</h1>
</he>

  渲染出来的结果就是

<header><h1>hello world</h1></header>

  

 

 

场景三

子组件 child

<div>
    <h1>这是h1</h1>
    <slot>这是分发内容,只有在没有分发内容的情况下显示</slot>
</div>

  

父组件

<child>
    <p>这是一段p</p>
    <p>两段p</p>
</child>

  

 

渲染出来就是

<div><h1>这是h1</h1><p>这是一段p</p><p>两段p</p></div>

 

如果父组件

<child></child>

 

那么渲染出来的就是

<div><h1>这是h1</h1>这是分发内容,只有在没有分发内容的情况下显示</div>

  

 

 

 

场景四:作用域插槽

子组件

<div class="child">
  <slot text="hello from child"></slot>
</div>

  

父组件

<div class="parent">
  <child>
    <template slot-scope="props">
      <span>hello from parent</span>
      <span>{{ props.text }}</span>
    </template>
  </child>
</div>

  

 

x渲染的话就是

<div class="parent">
  <div class="child">
    <span>hello from parent</span>
    <span>hello from child</span>
  </div>
</div>

  

 

  

vue slot

标签:style   没有   size   rom   from   class   nbsp   col   bsp   

原文地址:http://www.cnblogs.com/lwwen/p/7765708.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!