1200字范文,内容丰富有趣,写作的好帮手!
1200字范文 > vue的组件间(路由间)父子传值

vue的组件间(路由间)父子传值

时间:2018-08-02 21:23:42

相关推荐

vue的组件间(路由间)父子传值

父传子-prop

详见官方说明

/v2/guide/components-props.html

注意:

为了html的规范,在使用props传值的时候,在父组件引用时变量不用驼峰命名用-连接。参考vue啊element的组件都是-连接的。对应代码如下:

// 子组件props: ['whichData'],// 父组件 建议规范化使用<my-icon which-data="device"></my-icon>// 或 父组件引用时直接驼峰命名 其实也可以<my-icon whichData="device"></my-icon>

子传父-emit

注意:

this.$emit()是子组件往父组件传值,使用该方法无法拿到返回值。

如果子组件需要拿到父组件处理完成后的返回值,则应该使用props。

路由传值router-view

其实也是组件,是一个特殊的组件,所以拥有组件的属性和方法,虽然官方并没有举例说明。

// 通过:传值;// 通过@子通知父调用函数;// 通过ref打锚点方便父调用子组件。<router-view :rawData="rawData" @whichMonitor="currentMonitor" ref="monitorChild"/>

小结

父子间传值可以三选一

1、porp+emit

2、统一使用全局变量。

关键在于,传值是否是双向的,是否经常变动,是的话,建议使用全局变量,然后父子都去修改监控。

3、使用内存变量。

关键在于,变量是否刷新重载,只有存在window对象中localStorage、sessionStorage的变量,才不会受到页面刷新的影响。

但需要注意不使用或者退出系统时手动清除,避免一些麻烦。

注意:

若父子需要监控的全局变量是个数组,建议额外增加一个布尔标识量,监控布尔值变化时获取数组的值。

因为直接监控数组变化经常会监控不到。

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。