作用域插槽理解
2017-10-11 17:53
204 查看
早上5点下大雨了,迷迷糊糊起来收衣服,一不小心踩滑了,脑袋重重的摔在床上,嘤嘤嘤,瞬间蒙蔽到无法呼吸,大概是抬头45°仰望天空的时候姿势不对,总是感觉黑盒子里的知识洒了一些,白天笨笨的,晚上回家的时候好好找一下滴落的智慧。
本篇讲一下作用域插槽的理解,本汪认为是子组件与父组件的数据动态交互的一种常见案例,二话不说先上代码:
html:
js:
下面再上一个列表组建的demo,在这个demo中本汪特意打乱了属性的名字,为了明确数据之间的关系,(在阅读vue官方文档的时候给出的demo简洁漂亮,但是一本正经的变量命名容易让人迷惑),希望读者自行品读其中的数据关联关系,
:
html:
<div id="app">
<girl :favorite-a="items">
<template slot="cute" scope="variable"> <!-- /*作用域插槽也是可以具名的*/ -->
<li style="padding:8px 2px;">{{variable.thing}}</li><!-- scope变量调用的值必须和slot传出的值保持一致 -->
</template>
</girl>
</div>
<script>
Vue.component('girl',{
template:'\
<ul>\
<slot name="cute" \
v-for="dos in favoriteA" \
:thing = "dos.what" >\
</slot>\
</ul>\
',
props:['favorite-a']//数据是从外部传进来的 所以需要props动态接收
//父组件动态绑定的属性要和props中的属性的写法保持一致,但是在slot中计算时要还原成驼峰形式
})
new Vue({
el:"#app",
data:{
items:[
{what:'逛'},
{what:'吃'},
{what:'打扮'},
{what:'逛'},
{what:'吃'},
{what:'打扮'},
{what:'逛'},
{what:'吃'},
{what:'打扮'}
]
}
})
</script>
注释点已在代码中标出,就不再赘述啦哈哈哈,拜拜哒,放学咯。
哈哈哈 , 打架吧狗子君。
本篇讲一下作用域插槽的理解,本汪认为是子组件与父组件的数据动态交互的一种常见案例,二话不说先上代码:
html:
<div id="app" class="parent"> <child> <template scope="a"> <span>hello from parent</span> <span>{{ a.say }}</span> </template> </child> </div>父组件中必须要有template元素,且必须有scope特性,scope特性中是临时变量名,接收从子组件中传递上来的属性,属性可以是任意定义的。
js:
<script type="text/javascript"> Vue.component('child',{ template:'\ <div class="child">\ <slot say="hello from child"></slot>\ </div>' }); new Vue({ el:"#app" }) </script>
下面再上一个列表组建的demo,在这个demo中本汪特意打乱了属性的名字,为了明确数据之间的关系,(在阅读vue官方文档的时候给出的demo简洁漂亮,但是一本正经的变量命名容易让人迷惑),希望读者自行品读其中的数据关联关系,
:
html:
<div id="app">
<girl :favorite-a="items">
<template slot="cute" scope="variable"> <!-- /*作用域插槽也是可以具名的*/ -->
<li style="padding:8px 2px;">{{variable.thing}}</li><!-- scope变量调用的值必须和slot传出的值保持一致 -->
</template>
</girl>
</div>
<script>
Vue.component('girl',{
template:'\
<ul>\
<slot name="cute" \
v-for="dos in favoriteA" \
:thing = "dos.what" >\
</slot>\
</ul>\
',
props:['favorite-a']//数据是从外部传进来的 所以需要props动态接收
//父组件动态绑定的属性要和props中的属性的写法保持一致,但是在slot中计算时要还原成驼峰形式
})
new Vue({
el:"#app",
data:{
items:[
{what:'逛'},
{what:'吃'},
{what:'打扮'},
{what:'逛'},
{what:'吃'},
{what:'打扮'},
{what:'逛'},
{what:'吃'},
{what:'打扮'}
]
}
})
</script>
注释点已在代码中标出,就不再赘述啦哈哈哈,拜拜哒,放学咯。
哈哈哈 , 打架吧狗子君。
相关文章推荐
- vue中的作用域插槽--理解(slot-scope)
- python基础(5):深入理解 python 中的赋值、引用、拷贝、作用域
- $.data()的作用和理解
- 从上下文,到作用域(彩蛋:理解闭包)
- 深入理解javascript原型和闭包(12)——简介【作用域】
- 对request,session,application作用域形象理解
- 理解 JavaScript 作用域
- JavaScript 开发进阶:理解 JavaScript 作用域和作用域链
- __stdcall的理解与作用
- 深入理解 python 中的赋值、引用、拷贝、作用域
- 我理解的 JavaScript 作用域
- 基础理解:3作用域作用域链
- 转载:C# this.invoke()作用 多线程操作UI 理解二
- java 代理的作用 因素 以及对代理的理解
- 深入理解javascript原型和闭包(14)——从【自由变量】到【作用域链】
- Java并发编程学习笔记 深入理解volatile关键字的作用
- spring中scope(作用越)理解
- 深入理解 python 中的赋值、引用、拷贝、作用域
- 深入理解JavaScript高级之词法作用域和作用域链
- python 深入理解 赋值、引用、拷贝、作用域