Vue.js插槽

插槽初级使用和具名插槽看这里
插槽参考地址

标题## 编译作用域

父模板中的所有东西都会在父级作用域内编译,子模板的所有东西都会在子集作用域内编译。

  <div id="app">
    //  isShow为true,对应vue实例中app的isShow
    <my-cpn v-show="isShow"></my-cpn>
  </div>
<script  src="../vue.js"></script>
<template id="myCpn">
	<div >
	   <h2> 组件标题 </h2>
	   <p  v-show="isShow"> 我是一个组件段落 </p>  //isShow为false,对应template中myCpn的isShow
	 </div>
<template>

const app = new Vue({
 el:'app', 
 data:{ isShow:true },
 components:{
   'my-cpn' , {
	template: '#myCpn',
	data(){
	  return {
	     isShow:false;
	  }
	}.
	}
 }
 })

作用域插槽的使用

父组件替换插槽的标签(把ul换成span),但是内容(数据)由子组件来提供。

  <div id="app">
     <my-cpn > </my-cpn> //按ul序列展示
    <my-cpn >
      <template slot-scope = "scope">
         <span> {{ scpoe.data.join('  *  ') }}  </span>  //横向展示,以  *   隔开
      </template>
    </my-cpn>
  </div>
<script  src="../vue.js"></script>
<template id="myCpn">
	<div >
	  <slot :data="planguages">
		   <ul>
		   <li  v-for="item in planguages">  </li> 
		    </ul>
	  </slot>
	 </div>
<template>

const app = new Vue({
 el:'app', 
 data:{ isShow:true },
 components:{
   'my-cpn' , {
	template: '#myCpn',
	data(){
	  return {
	     planguages:['java', 'c' , 'c++', 'c#'],
	  }
	}.
	}
 }
 })

over

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值