Vue.js-----轻量高效的MVVM框架(十一、使用slot分发内容)
#单个slot
html:
<h3>#单个slot</h3>
<!-- 定义child01模板 -->
<template id="child01">
<div>this is temp01 component!</div>
<slot>
如果没有分发内容,这里将会被显示
</slot>
</template>
<div id="dr01">
<child01></child01>
<br /><br />
<child01>
<div>这里有新的内容01</div>
<div>这里有新的内容02</div>
</child01>
</div>
js:
//*********************************************************
//单个slot
var child01 = Vue.extend({
template: "#child01",
});
var dr01 = new Vue({
el: "#dr01",
components: {
"child01": child01
}
});
结果展示:

#具名Slot(有名称的slot)
html:
<h3>#具名Slot(有名称的slot)</h3>
<!-- 定义模板child02 -->
<template id="child02">
<slot name="s1"></slot>
<slot></slot>
<slot name="s2"></slot>
</template>
<div id="dr02">
<child02>
<div slot="s1">this is slot01</div>
<div slot="s2">this is slot02</div>
<div>this is a simple div01</div>
<div>this is a simple div02</div>
</child02>
</div>
js:
//*********************************************************
//具名slot
var child02 = Vue.extend({
template: "#child02"
});
var dr02 = new Vue({
el: "#dr02",
components: {
"child02": child02
}
});
结果展示:

#编译作用域
html:
<h3>编译作用域</h3>
<template id="child03">
<div>the two items following is child msg:</div>
<div>{{cmsg_01}}</div>
<div>{{cmsg_02}}</div>
<br />
<div>the three items following is parent msg:</div>
<slot name="s1"></slot>
<slot></slot>
<slot name="s2"></slot>
</template>
<div id="dr03">
<child03>
<div slot="s1">{{msg01}}</div>
<div slot="s2">{{msg02}}</div>
<div>{{msg03}}</div>
</child03>
</div>
js:
//*********************************************************
//编译作用域
var child03 = Vue.extend({
data: function() {
return {
cmsg_01: "this is child msg_01",
cmsg_02: "this is child msg_02",
}
},
template: "#child03",
})
var dr03 = new Vue({
el: "#dr03",
data: {
msg01: "this is parent msg01",
msg02: "this is parent msg02",
msg03: "this is parent msg03",
},
components: {
"child03": child03
}
});
结果展示:

Vue.js-----轻量高效的MVVM框架(十一、使用slot分发内容)的更多相关文章
- Vue.js-----轻量高效的MVVM框架(一、初识Vue.js)
1.什么是Vue.js? 众所周知,最近几年前端发展非常的迅猛,除各种框架如:backbone.angular.reactjs外,还有模块化开发思想的实现库:sea.js .require.js .w ...
- Vue.js-----轻量高效的MVVM框架(二、Vue.js的简单入门)
1.hello vue.js! (1)引入vue.js <script type="text/javascript" src="js/vue.js"> ...
- Vue.js-----轻量高效的MVVM框架(九、组件利用Props传递数据)
#使用props传递数据 html:传递普通的字符串 <h3>#使用props传递数据</h3> <div id="dr01"> <div ...
- Vue.js-----轻量高效的MVVM框架(七、表单控件绑定)
话不多说,先上完整代码: <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> ...
- Vue.js-----轻量高效的MVVM框架(八、使用组件)
什么是组件? 组件(Component)是 Vue.js 最强大的功能之一.组件可以扩展 HTML 元素,封装可重用的代码.在较高层面上,组件是自定义元素,Vue.js 的编译器为它添加特殊功能.在有 ...
- Vue.js-----轻量高效的MVVM框架(六、Class与Style绑定)
这个相对来说简单,看一遍代码就懂. 一.完整片段: <!DOCTYPE html> <html> <head> <meta charset="UTF ...
- Vue.js-----轻量高效的MVVM框架(五、计算属性)
#基础例子 <div id="dr01"> <h4>#基础例子</h4> <div> num01={{num01}}, num02= ...
- Vue.js-----轻量高效的MVVM框架(四、指令)
Vue指令 指令 (Directives) 是特殊的带有前缀 v- 的特性.指令的值限定为绑定表达式,因此上面提到的 JavaScript 表达式及过滤器规则在这里也适用.指令的职责就是当其表达式的值 ...
- Vue.js-----轻量高效的MVVM框架(三、认识数据绑定)
插值 1.文本插值 (1)双向数据绑定 v-model="msg0101",一旦v-model中的数值发生变化,所有用vue表达式{{msg0101}}的数据都会更新. (2)单次 ...
随机推荐
- g2o20160430下的csparse文件夹内的CMakeLists.txt
1. g2o20160430下的csparse文件夹内的CMakeLists.txt cmake_minimum_required(VERSION 2.6) PROJECT(csparse) SET( ...
- 孕妇的孕周和体重对胎儿游离DNA在母体cfDNA占比的影响
有一篇文件,研究了孕妇的孕周和体重对 胎儿游离DNA在母体cfDNA中占比的影响 文章名称:Gestational age and maternal weight effects on fetal c ...
- 715B Complete The Graph
传送门 题目大意 给出一个图,一些边带权,另一些边等待你赋权(最小赋为1).请你找到一种赋权方式,使得 s 到 t 的最短路为 L n ≤ 1e3 ,m ≤ 1e4 ,L ≤ 1e9 分析 二分所有边 ...
- Luogu 3466 [POI2008]KLO-Building blocks
BZOJ 1112. 题意相当于在一个长度为$k$的区间内选择一个数$s$使$\sum_{i = 1}^{k}\left | a_i - s \right |$最小. 很显然是中位数. 然后只要写一个 ...
- HUST高级软件工程--测试管理工具实践--Day1
测试管理工具实践--Day1 今天完成任务情况: 课前组好队伍,建好微信群. 课上通过老师的介绍,初步了解各种测试工具的使用情况. 课后选取了组长,在微信群经过"广泛而激烈"的讨论 ...
- iOS逆向编程工具篇:class-dump
class-dump是用来dump目标对象的class信息的工具,利用OC的runtime特性,将存储在Mach-O文件中的@interface.@protocol信息提取出来,并生成对应的.h文件. ...
- HTML5与CSS3基础教程(第7版) 高清PDF扫描版
HTML5与CSS3基础教程(第7版)试读不仅介绍了文本.图像.链接.列表.表格.表单.多媒体等网页元素,也介绍了如何为网页设计结构.布局,添加动态效果.格式化等形式,此外还涉及调试和发布.聚合和吸引 ...
- html复杂url提交
在使用手机向webapi发送照片请求的时候遇到一个问题,关于base64位字符串码无法识别,提交的表单是这样的: <form id="form1" method=" ...
- c#静态方法和非静态方法区别
c#静态方法和非静态方法区别 C#的类中可以包含两种方法:C#静态方法与非静态方法.那么他们的定义有什么不同呢?他们在使用上会有什么不同呢?让我们来看看最直观的差别:使用了static 修饰符的方法为 ...
- Dubbo接口测试方法及步骤
1)打开soapUI,点击File--New project: 2)右键New REST service from URL,注:因为dubbo接口不像http接口一样有URL,所以这里的URL可以随便 ...