Vue 测试版本:Vue.js v2.5.13
Vue 文档:
<slot> 元素可以用一个特殊的特性 name 来进一步配置如何分发内容。多个插槽可以有不同的名字。具名插槽将匹配内容片段中有对应 slot 特性的元素。
仍然可以有一个匿名插槽,它是默认插槽,作为找不到匹配的内容片段的备用插槽。
具体应用的时候:
1、匿名插槽的合并行为:
<div id="app"> <myele> <div> default slot </div> <div> <div>from parent!</div> <div>from parent!</div> </div> </myele> </div> window.onload = function() { Vue.component('myele', { template: ` <div> <slot></slot> </div> ` }); new Vue({ el: '#app' }); };
效果:内容合并
2、匿名作用域插槽的覆盖行为:
<div id="app"> <myele> <div slot-scope="props"> <div>from parent!</div> <div>from {{props.text}}</div> </div> <div slot-scope="prop"> <div>from </div> <div>{{prop.text}}</div> </div> </myele> </div> window.onload = function() { Vue.component('myele', { template: ` <div> <slot text="child"></slot> <slot text="child2"></slot> //即使 text 和上一行一样,也不会报错,开发环境 </div> ` }); new Vue({ el: '#app' }); };
效果:以靠后的作用域插槽模板为准,绘制了两遍;
3、匿名插槽模板和作用域插槽模板混合:
<div id="app"> <myele> <div> default slot </div> <div slot-scope="props"> <div>from parent!</div> <div>from {{props.text}}</div> </div> </myele> </div> window.onload = function() { Vue.component('myele', { template: ` <div> <slot></slot> <slot text="child"></slot> </div> ` }); new Vue({ el: '#app' }); };
效果:匿名插槽以匿名作用域插槽模板为准进行渲染,即使你把匿名插槽模板放后面,也是一样的结果;
由此可以看出,最好不要使用匿名、默认插槽,最好使用具名插槽,可以减少不确定性;
参考文档:
https://cn.vuejs.org/v2/guide/components.html#具名插槽
总结
以上所述是小编给大家介绍的Vue匿名插槽与作用域插槽的合并和覆盖行为,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对小牛知识库网站的支持!
如果你觉得本文对你有帮助,欢迎转载,烦请注明出处,谢谢!
本文向大家介绍vue 使用插槽分发内容操作示例【单个插槽、具名插槽、作用域插槽】,包括了vue 使用插槽分发内容操作示例【单个插槽、具名插槽、作用域插槽】的使用技巧和注意事项,需要的朋友参考一下 本文实例讲述了vue 使用插槽分发内容操作。分享给大家供大家参考,具体如下: 单个插槽 除非子组件模板包含至少一个 <slot> 插口,否则父组件的内容将会被丢弃。当子组件模板只有一个没有属性的插槽时,父
1. 前言 本小节我们将介绍如何使用插槽slot,包括默认插槽、具名插槽、作用域插槽。插槽可以使组件的模版变得多样性,让用户在使用组件时可以自定义传入模版内容。在复杂组件中,当我们在使用多个插槽的时候将会是一个难点。但是也不必担心,只要我们将每个插槽类型的使用方法学透,相信面对任何复杂插槽的使用的时候都可以游刃有余。 2. 慕课解释 Vue 实现了一套内容分发的 API,将 元素作为承载分发内容的
本文向大家介绍Vue作用域插槽slot-scope实例代码,包括了Vue作用域插槽slot-scope实例代码的使用技巧和注意事项,需要的朋友参考一下 vue中的插槽有三种:单个插槽、具名插槽、作用域插槽,这个在官网上能看到 (https://cn.vuejs.org/v2/guide/components.html#单个插槽) 作用域插槽简单来说就是父组件只管显示样式,数据由子组件来提供。比如上
在视图模板中可以通过 slot 声明一个插槽的位置,其位置的内容可以由外层组件定义。 var Panel = san.defineComponent({ template: '<div>' + ' <div on-click="toggle">title</div>' + ' <p style="{{fold | yesToBe(\'display:no
本文向大家介绍vue中slot(插槽)的介绍与使用,包括了vue中slot(插槽)的介绍与使用的使用技巧和注意事项,需要的朋友参考一下 什么是插槽? 插槽(Slot)是Vue提出来的一个概念,正如名字一样,插槽用于决定将所携带的内容,插入到指定的某个位置,从而使模板分块,具有模块化的特质和更大的重用性。插槽显不显示、怎样显示是由父组件来控制的,而插槽在哪里显示就由子组件来进行控制 Vue slot
我试图在bootstrap-vue表中创建一个插槽,用自定义组件呈现任何布尔值。 所以我有一张简单的桌子 现在,如果我想以特定的方式呈现单个列,我必须使用插槽 它是有效的,因为我知道是一个布尔值。 我想概括这种行为,但我不能在模板中使用,也不能在模板上使用...这个想法是创建一个包含我所有布尔字段的数组并迭代它... 像这样的