组件分发部分

Posted 熊猫哥哥

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了组件分发部分相关的知识,希望对你有一定的参考价值。

<div id="app">
    <h1>我是app下面的</h1>
    <baba-component></baba-conponent>
</div>
<!--这是父组件的部分-->
<template id="baba-component">
    <span>
        <h3>我是父组件下面的</h3>
        <son-component>
        <p>假如子组件slot里面没有内容就渲染这个部分,否则就渲染slot部分</p> </son-component> </span> </template> <!--这是子组件的部分--> <template id="son-component"> <div> <slot>bgg</slot> </div> </template>/*这里注意几点:1.组件一定要注册,2.template后面一定要有一个容器包裹,否则会报错*/ <script src="js/vue.js" type="text/javascript" charset="utf-8"></script> <script type="text/javascript"> Vue.component("baba-component",{ template:"#baba-component" }); Vue.component("son-component",{ template:"#son-component" }); var app = new Vue({ el:"#app" }) </script>

 组件分发是用来父子之间传递额外的内容(例如模板等),这里主要是通过template标签进行传递的。我们只要记住一点,template标签里面的内容一定要用一个容器包裹

具名slot就是通过slot标签进行匹配,加入没有匹配到的内容,仍然会有一个默认的slot,会把子组件的内容匹配到默认的slot里面去。

 

<div id="app">
	<h2>我是组件的标题{{message}}</h2>
	<baba-component></baba-component>
</div>
<template id="baba-component">
	<div>
		<child-component>
			<div>
				<h3 slot="header">asdasd</h3>
				<h3 slot="footer">我是一个会</h3>
			</div>
		</child-component>
	</div>
</template>
<template id="child-component">
	<div>
		<slot name="header">asdasd </slot>
		<p>asdadasdas</p>
		<p>adasdsdsadads</p>
		<slot name="footer">
			12312312312
		</slot>
	</div>
</template>

 

  

 

以上是关于组件分发部分的主要内容,如果未能解决你的问题,请参考以下文章

Android 事件分发事件分发源码分析 ( Activity 中各层级的事件传递 | Activity -> PhoneWindow -> DecorView -> ViewGroup )(代码片段

组件分发部分

简单介绍关于vue 的slot分发内容 (多个分发)

vue solt内容分发/vue通用组件的封装

如何修复重叠的片段

这两个代码片段有啥区别?