问题标签 [extjs-mvc]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
3581 浏览

javascript - 获取错误未捕获的类型错误:无法调用未定义的方法“getProxy”?

我使用 extjs 构建的 Web 应用程序有问题。我有这个代码: 代码

好的,我得到的错误是: Uncaught TypeError: Cannot call method 'getProxy' of undefined this stacktrace:

0 投票
2 回答
2741 浏览

extjs-mvc - 作为“目标”处理程序工具栏按钮,控制器的方法?

你好!

我希望从视图中删除此处理程序“处理程序:onEventControler (???)”(它不属于那里)

对于网格视图设置 dockedItems 这个代码:

我也尝试实现this.control,但我无法要求按钮 selectorQuery。

我如何正确尊重架构 mvc extJs4?

谢谢你。

0 投票
0 回答
225 浏览

javascript - 网格显示没有结果,但寻呼机使用 ext 和 ext.Direct 使用 Codeigniter

我的json结果如下所示:

JSON

有这个网格视图代码:

店铺

寻呼机的工作多么奇怪!但为什么显示空网格?

0 投票
4 回答
3672 浏览

extjs - extjs 组合不会停止加载 4.07

我有 3 个组合框。当您单击第一个框时,第二个框需要更新以显示相关数据。我选择第一个组合,第二个框完美更新。但是,如果我再次尝试相同的步骤,第二个框不会停止加载(见图)

在此处输入图像描述

这是我认为的代码

从我的控制器

0 投票
4 回答
2402 浏览

extjs - TreeGrid:设置数据根没有效果

我正在尝试设置 TreeGrid,我的数据对象如下所示:

我需要告诉 Ext 它应该使用data作为根元素:

尽管我已成功将其与普通商店一起使用,但这对我不起作用。

0 投票
1 回答
1437 浏览

javascript - 如何在双击网格以等待详细信息窗口时加载掩码

论坛成员 我在使用 extjs 4.0.2a 的 loadMask 属性时遇到了一个问题。实际上我有一个网格,单击它会打开带有详细信息的窗口。

由于我的详细信息窗口需要更多时间才能显示在屏幕上,所以我决定使用 Extjs 的 loadMask 属性。但是不知道为什么当我双击网格行时没有显示加载消息,过了一段时间后,屏幕上显示了详细信息窗口。

在网格上双击我正在执行下面的代码

但不知道没有显示加载,等待一段时间后我的窗口正确显示。

我只想在双击网格时显示加载消息,并且在窗口完全加载后加载消息应该消失并且应该查看详细信息窗口。

当我按照您所说的进行更改时,会显示加载消息,但我的窗口尚未打开。下面是我试图打开的窗口代码

我的项目甘特窗是

0 投票
2 回答
443 浏览

extjs - 错误 NodeStore 没有模型

我正在使用 TreeGrid 来显示一些数据。由于我实现了treegrid,extjs一直抛出这个错误:

没有模型定义的商店。您可能输入了错误的型号名称。

我调试了一下,发现这是因为有一个没有模型的“nodeStore”而被抛出。

这个“nodeStore”来自哪里,我做错了什么?

店铺:

模型:

0 投票
2 回答
3210 浏览

extjs4 - 如何使用 extjs4 在 formPanel 字段旁边显示服务器端验证错误?

我正在尝试使用 Extjs4 将我的类字段与我的视图字段绑定。我已经做到了可以提交表单并返回结果的程度,但不确定如果验证失败,如何在各个字段旁边显示任何错误消息。我想将这些字段直接绑定到我的类(就像我们为 spring mvc 所做的那样 - bindingResults.rejectValue("currentPassword", "currentPassword.incorrect", "Password is wrong"); 它会显示在视图中)。

我的表单面板:

在按钮单击时执行提交事件的控制器 -

我的课是

如何在我的视图中显示错误消息?

0 投票
2 回答
1350 浏览

javascript - ExtJS MVC 约定、命名和行为

最近(2.x / 3.x)我只是使用 xtype 和工厂方法来接收一个同样快速的类的实例。现在我已经开始了 4.x 和我的第一个 MVC 应用程序。如教程中所述,MVC 模式要求我为每个不想使用的视图扩展一个类,即使我只使用一次。但是 Sencha 自己写的最佳实践说:

只是为了可重用性或添加功能而扩展

在我的情况下,我需要注册一大堆类,即使它们可以从一个基类创建,除了一些参数,比如title, width,...

另一点是控制器按照约定覆盖了任何 StoreId 并且还需要严格键入,这意味着类名必须以s. 但据我所知,我既不能保留模型也不能保留控制器存储/模型数组中的存储,因此该约定是否还有其他要点,因为它似乎没有多余的输入。

下一点是,在从 3.X 合并到 4.X 之后,应用程序的初始加载时间已经延长,这似乎是由于需要定义的许多新类或由于所有控制器在启动时都被实例化的事实造成的由于 MVC 模式的默认行为。有没有办法不自动实例化一个控制器,只是懒惰地做它,例如当我在应用程序控制器上请求它时?

是的,我知道,这是一堆问题,但我猜它们都围绕同一个主题。

编辑

经过一些源代码挖掘后,我不再确定s命名商店时的要求。我以为我在阅读 MVC 教程时偶然发现了这一点。任何人都可以验证这一点吗?

编辑 2

我的结论

花边渲染非常简单。首先在ApplicationController控制器数组中不应该提到Controller。要创建这样一个控制器的实例,请使用ApplicationController.getController(pureClassName) [注意每个控制器都包含对 ApplicationController 调用的引用 application] 现在你需要知道init(application)方法和onLaunch(application)方法不再被 ApplicationController 调用的事实,你需要做这个你自己。调用getController()ApplicationController 时,首先查找内部引用缓存中是否已经存在此控制器的实例,如果没有,它会创建一个实例并将控制器名称注入为Id. 所以控制器是一种非常好的单例。控制器本身为已注册的商店、模型和视图创建所有 getter,并且,这是一个猜测,它实例化它们(至少是商店)关于商店的命名限制,没有关于以 s 结尾的限制。

0 投票
1 回答
297 浏览

extjs4 - 视图未定义,在 4.07 中加载组合框问题

我偶尔(通常是三分之一的页面加载)收到以下错误消息

视图未定义 view.onItemSelect(record);

在我看来

// 在我的控制器 onLaunch: function () {

在我的模型中