vue中 使用公共实例 组件之间传递数据 $on 多次触发

2018-10-03 18:49
椰子皮
2910
0
5
Vue

这是两个兄弟组件之间的通信,但是现在<span style="font-family: 微软雅黑, Tahoma, Verdana, 宋体; font-size: 14px; background-color: rgb(255, 255, 255);">每切换一次路由, 就多调用一次on的回调函数,emit 传递数据 $on接受一次就多一次</span>

怎么销毁$emit中特定的数据

$emit:</span>

复制代码
methods: {

        getAsideSubNav(id, subId) {
            App.$emit('Adp_aside_getSubNav', { 'id': id, 'subId': subId }); //派发事件

        }

  }

$on:</span>

复制代码
created() {
            App.$off('Adp_aside_getSubNav');
            App.$on('Adp_aside_getSubNav', (res) => {
                this.subNavList = [];
                baseData.sysmenu.forEach((node, index) => {
                    if (res.subId == -1 && res.id == node.subsetID) {

                        this.subNavList.push(node);

                    }
                    else {
                        if (node.moduleID == res.id) {
                            this.subNavList.push(node);

                        }

                    }
                });
                console.log("created");
            });

        },

解决方案:</span>

在created钩子函数中,App.on前面,调用App.off解绑事件。</span>

赏
支付宝微信
5
关注公众号获取更多内容
vue两个组件(非父子组件)之间传递数据
net start MongoDB 服务名无效错误解决办法
暂无评论,快抢沙发吧
不支持canvas