vue中的传值


一  inject(接收)+provide(提供)

     优点|官方解释:

     通常,当我们需要从父组件向子组件传递数据时,我们使用 props。想象一下这样的结构:有一些深度嵌套的组件,而深层的子组件只需要父组件的部分内容。在这种情况下,如果仍然将 prop 沿着组件链逐级传递下去,可能会很麻烦。

     基本知识:

//父元素
export default{
   provide(){
   return {  //必须是方法
    name:"MrZhang" 
  }
 }
}

//子元素
export default{
inject:[name]//基本用法,this.name
inject:{
from:"name",
default:"MissLI",
}
}

 响应式的用法:

  provide方法基础上将返回值写成了函数形式

provide(){
  return{
    getName:()=>{
      xing:"",
      ming:"",
      name:"",
  }
 }
}

//接收
inject:[getName], //this.getName.xing
vue