vue slot
2017-11-01 11:41 改吧 阅读(682) 评论(0) 收藏 举报一般我发现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>
浙公网安备 33010602011771号