extjs - 有没有办法为特定的 xtypes/容器创建控制器?
问题描述
我有使用不同组件构建的表单,这些组件以不同的方式加载和编辑相同的记录。
总的来说,我有一个用于处理表单加载和保存的记录的视图控制器。所有表单都有一个“加载”和“保存”按钮,在这个“记录控制器”中处理。
但是,由于我创建的可用于查看记录的不同容器、一些分页或可扩展容器,我具有处理包含在 recordController 中的按钮“下一页”、“上一页”、“展开信息”的函数。
我想从 recordController 中删除这些功能“下一页”、“上一页”和“扩展信息”,并将它们放入特定于我为其制作的 xtype 的控制器中。这样,我可以创建具有相同功能的组件,而无需复制代码中的功能。
我知道我可以将这些功能放入所有其他控制器继承的“masterController”中,但是随着时间的推移,masterController 会增长并且可能变得难以管理/更改功能。理想情况下,两个控制器都不会从另一个控制器继承。
基本上我想要做的概念是:
Ext.define('CustomForm', {
controller: 'recordController',
items: [{
xtype: 'tabpanel',
controller: 'tabpanelController'
}]
};
显然,上面的方法不起作用,但如果它在理想情况下在 tabpanel 中的函数调用将在前往 recordController 之前默认为 tabpanelController,而 tabpanelController 不会是记录控制器的后代。
有没有办法实现这个概念?
解决方案
推荐阅读
- javascript - 删除项目时自动单击项目
- kubernetes - 如果可突发和尽力而为的容器都需要计算资源,kubernetes 是否有任何优先级?
- laravel - 从 laravel 5.6 中的电子邮件参数中删除验证。我正在使用 authenticate() 方法
- ios - 如何使用 Swift 4 解决 Tableview 数据数组“超出范围值”?
- php - 出现错误时如何保持模态显示
- spring-boot - 如何将自定义字段添加到日志 logback-logstash
- html - 让边框环绕整个元素
- asp.net-mvc - 使用带有表单参数的 pagedlist
- laravel - Laravel eloquent query always returns all columns even when passing id
- angular - Angular 6:给定 ElementRef,我可以得到 ViewContainerRef