在实际应用中,vue的传值就像是人每天要吃的饭一样,是一个避无可避的东西。往大了说组件之间的传值就是任意组件之间的通信,往小了说组件之间的传值可分为父传子,子传父,以及兄弟之间。
父传子
父传子从传统意义上父亲把已有的东西留给自己的儿子,儿子这里叫继承。在vue中,父组件首先的有值,也就是说父组件是产生值的地方,其次父组件中要有子组件,所有子组件在父组件中注册,明确父子关系;之后在子组件上注册一个值,用于传递的凭证,也就是传统意义上父亲留给儿子的东西,这个东西所在了。父组件的工作到这里就结束了,接下来就是子组件的接收问题;子组件用于接收的容器是prop,将从父亲那拿到的东西放入prop,这样这个值就可以被子组件运用了,某种意义上来说也就是子组件的东西了。以上语言翻译成计算机语言就是:
子传父
子传父是指儿子将自己的方法或者值传递到父亲处,同样在父亲处进行接收,并处理;儿子是利用$emit这个属性,父亲则是利用$on这个属性
兄弟组件及任意
兄弟组件有两种处理方式:一是先子传父再父传子;二是人为的添加一个梯子,即一个新的Vue对象做介质,在兄弟组件中同时引入这个介质,值或方法产生的地方用$emit这个方法,接收的一方用$on这个方法