gpt4 book ai didi

model-view-controller - ExtJS 4 如何从另一个 Controller / View 创建和显示新的 Controller / View ?

转载 作者:行者123 更新时间:2023-12-04 11:13:34 25 4
gpt4 key购买 nike

我查看了许多 ExtJS 4 MVC 的示例,它们几乎都显示了相同的东西:应用程序创建一个视口(viewport),加载到一个 View 中,并定义了一个“ Controller ”,它是 Controller :

Ext.application({
name: 'AM',

controllers: [
'Users'
],

launch: function() {
Ext.create('Ext.container.Viewport', {
layout: 'fit',
items: [
{
xtype: 'userlist'
}
]
});
}
});

太好了,但是现在假设在我的应用程序中,我想要一个包含在我的 View 中的按钮来打开一个全新的 Controller / View ,你是怎么做到的?

我认为我正在寻找的是一种表达方式,例如:
- 创建 Controller (运行它的初始化代码)
- 在 Controller 初始化代码中,创建 View 并显示它

这是正确的,你是怎么做到的?

我想澄清一下,在我的情况下,我需要 SAME Controller / View 组合的两个单独实例。例如,我可能有一个带有选项卡面板和两个选项卡的 View 。然后,我想在每个选项卡中放置两个单独的“用户” Controller 和“user.List” View 实例。

最佳答案

I think what I am looking for is a way to say something like: - Create Controller (run it's init code) - in the controller init code, create the view and display it



在 extjs 中,所有 Controller 在应用程序加载时都会被实例化。您可以使用 Application中的启动方法类开始一个 View 。并让 Controller 监听该 View 的事件。在一个 Controller 中,您始终可以使用 application 访问另一个 Controller 。目的:
 this.application.getController('ControllerName1').displayListPanel(options);

在上面的代码中,我调用了一个方法 displayListPanel在 ControllerName1 Controller 中可用。此方法保存在屏幕上显示 View (网格面板)的代码。同样,我可以拥有创建 View 的方法,例如用于数据输入的新表单。这是另一个例子:
this.application.getController('ControllerName1').newDateForm();

在我的方法中:
newDataForm : function() {

var view = Ext.widget('form',{title: 'New Data'});
view.show();
},

关于model-view-controller - ExtJS 4 如何从另一个 Controller / View 创建和显示新的 Controller / View ?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8248643/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com