聆听视图控制器之间的事件

 mobiledu2502863117 发布于 2023-01-15 10:20

我在试图弄清楚如何从另一个ViewController监听在一个View Controller中触发的事件时遇到了麻烦.

我的网格组件定义了一个监听器

selModel: {
    listeners: {
        selectionchange: 'onChemClick'
    }
},

我的ViewController(称为chemslist)具有触发另一个事件的功能

onChemClick: function(view, selected) {
    console.log("before firing");
    this.fireEvent('canvasData', this, selected.length);
    console.log("after firing");
    console.log(selected);
}

我有另一个控制器,实际上侦听此事件并显示数据.

Ext.define('view.canvas.CanvasController', {
extend: 'Ext.app.ViewController',
alias: 'controller.canvas',

listen: {
    controller: {
        chemslist: {
            canvasData: 'onCanvasData'
        }
    }
},

onCanvasData: function() {
    console.log("At Fire");
}

});

出于某种原因,我无法弄清楚为什么CanvasController无法监听事件.我也查看了Ticket示例并查看了如何触发事件以及其他viewControllers监听它们.

如果一个区域中的网格上的选择导致另一个面板中的大量更改,那么最佳做法是什么?如果事件被触发为全局,那么所有组件都会听取它?或者我应该在主控制器(而不是ViewController)中听它并根据事件生成组件?

谢谢!

撰写答案
今天,你开发时遇到什么问题呢?
立即提问
热门标签
PHP1.CN | 中国最专业的PHP中文社区 | PNG素材下载 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有