91.slot是什么,有什么作用,原理是什么

226 阅读1分钟

slot是插槽,是vue的内容分发机制,组件内部的模板引擎使用slot元素作为承载分发内容的出口

  • 默认插槽:没有指定name值,只有一个
  • 具名插槽:带有name值,多个
  • 作用域插槽:可匿名,可具名,可以将子组件内部的参数传递给父组件,可以根据数据情况来决定如何渲染该插槽

原理:当子组件vm实例化的时候,获取到父组件传入的slot标签的内容,存放到vm.slot中,默认的插槽为vm.slot中,默认的插槽为vm.slot.default,具名插槽为vm.$slot.xxx

当组件执行渲染函数时,遇到slot标签,使用$slot中的内容进行替换