- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
使用 Sencha Cmd 生成工作区并创建两个不同的应用程序后,我只想运行第一个应用程序,然后单击按钮后,它会调用第二个应用程序 :)
像一个主应用调用另一个子应用
有办法吗?
谢谢你的帮助
最佳答案
您可以开发可以毫无问题地协同工作的独立模块。这两个概念根本没有冲突。
在这里分享一下我的经验。当我们开始我们当前的项目时(从头开始),另外两个团队正在开发另外两个应用程序,一段时间后我们应该将它们“集成”到一个大应用程序中。您不必是天才就能预测最终结果,对吧?当我们听说客户想要更多并行工作(更多团队开发模块)时,情况变得更糟。
第一个想法是使用 iframe,但 PoC 证明这是一个坏主意,所以我们停止了机器并开始设计可插拔架构。我们做得很好,因为目前我们能够轻松加载以隔离方式开发的模块(我们称之为插件)。例如,看看我们的文件夹结构是怎样的:
这是我们设置要加载的模块的元数据:
这有很多优点:
discoverPlugins: function () {
var me = this;
Ext.each(plugins(), function (d) {
me.loadPluginController(d.controller);
});
App.History.notifyAppLoaded();
},
loadPluginController: function (controllerName) {
try {
var controller = App.current.getController(controllerName);
controller.init(App.current);
} catch (e) {
console.log(controllerName + ' controller couldn\'t be loaded.' + e);
}
},
constructor: function () {
this.callParent(arguments);
this.router.set({
'!/operations/product/permissions/definition': this.viewPermissionsDefinition,
'!/operations/product/accesslist/create': this.createProductAccessList,
'!/operations/product/accesslist/{id}/edit': this.editProductAccessList,
'!/operations/product/accesslist/{id}': this.viewProductAccessList,
'!/operations/product/accesslist': this.viewProductAccessList,
'!/operations/{...}': this.notFound,
'!/operations': this.root
});
}
navigate: function (token) {
var me = this,
handled;
if (token) {
handled = false;
for (var i = 0; i < me.routers.length; i++) {
if (me.routers[i].processToken(token)) {
handled = true;
break;
}
}
if (!handled) {
App.current.fail(404, 'Resource not found.');
}
} else {
App.current.gotoUrl('/servicedesk/search');
}
},
refs: [
{ ref: 'main', selector: '#center-panel' }
],
createControllerGetters: function (controllers) {
var me = this;
controllers = Ext.Array.from(controllers);
Ext.Array.each(controllers, function (controllerName) {
var parts = controllerName.split('.'),
idx = parts.indexOf('controller'),
significants = parts.slice(idx + 1),
name = significants.map(function (e) { return Ext.String.capitalize(e); }).join(''),
fn = 'get' + name + 'Controller';
if (!me[fn]) {
me[fn] = Ext.Function.pass(me.getController, [controllerName], me);
}
});
},
getController: function (controllerName) {
this.controllerCache = this.controllerCache || {};
var me = this,
cached = me.controllerCache[controllerName];
if (!cached) {
me.controllerCache[controllerName] = cached = App.current.getController(controllerName);
if (cached) {
cached.init();
cached.on('beforedestroy', function () {
me.controllerCache[ref] = null;
});
}
}
return cached;
},
controllers: [
'Operations.controller.ProductAccessListViewer',
'Operations.controller.ProductAccessListEditor',
'Operations.controller.ProductAccessListCreator'
],
关于model-view-controller - 一个 Extjs 应用程序调用另一个 Extjs 应用程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13939305/
为了让我的代码几乎完全用 Jquery 编写,我想用 Jquery 重写 AJAX 调用。 这是从网页到 Tomcat servlet 的调用。 我目前情况的类似代码: var http = new
我想使用 JNI 从 Java 调用 C 函数。在 C 函数中,我想创建一个 JVM 并调用一些 Java 对象。当我尝试创建 JVM 时,JNI_CreateJavaVM 返回 -1。 所以,我想知
环顾四周,我发现从 HTML 调用 Javascript 函数的最佳方法是将函数本身放在 HTML 中,而不是外部 Javascript 文件。所以我一直在网上四处寻找,找到了一些简短的教程,我可以根
我有这个组件: import {Component} from 'angular2/core'; import {UserServices} from '../services/UserService
我正在尝试用 C 实现一个简单的 OpenSSL 客户端/服务器模型,并且对 BIO_* 调用的使用感到好奇,与原始 SSL_* 调用相比,它允许一些不错的功能。 我对此比较陌生,所以我可能会完全错误
我正在处理有关异步调用的难题: 一个 JQuery 函数在用户点击时执行,然后调用一个 php 文件来检查用户输入是否与数据库中已有的信息重叠。如果是这样,则应提示用户确认是否要继续或取消,如果他单击
我有以下类(class)。 public Task { public static Task getInstance(String taskName) { return new
嘿,我正在构建一个小游戏,我正在通过制作一个数字 vector 来创建关卡,该数字 vector 通过枚举与 1-4 种颜色相关联。问题是循环(在 Simon::loadChallenge 中)我将颜
我有一个java spring boot api(数据接收器),客户端调用它来保存一些数据。一旦我完成了数据的持久化,我想进行另一个 api 调用(应该处理持久化的数据 - 数据聚合器),它应该自行异
首先,这涉及桌面应用程序而不是 ASP .Net 应用程序。 我已经为我的项目添加了一个 Web 引用,并构建了各种数据对象,例如 PayerInfo、Address 和 CreditCard。但问题
我如何告诉 FAKE 编译 .fs文件使用 fsc ? 解释如何传递参数的奖励积分,如 -a和 -target:dll . 编辑:我应该澄清一下,我正在尝试在没有 MSBuild/xbuild/.sl
我使用下划线模板配置了一个简单的主干模型和 View 。两个单独的 API 使用完全相同的配置。 API 1 按预期工作。 要重现该问题,请注释掉 API 1 的 URL,并取消注释 API 2 的
我不确定什么是更好的做法或更现实的做法。我希望从头开始创建目录系统,但不确定最佳方法是什么。 我想我在需要显示信息时使用对象,例如 info.php?id=100。有这样的代码用于显示 Game.cl
from datetime import timedelta class A: def __abs__(self): return -self class B1(A):
我在操作此生命游戏示例代码中的数组时遇到问题。 情况: “生命游戏”是约翰·康威发明的一种细胞自动化技术。它由一个细胞网格组成,这些细胞可以根据数学规则生存/死亡/繁殖。该网格中的活细胞和死细胞通过
如果我像这样调用 read() 来读取文件: unsigned char buf[512]; memset(buf, 0, sizeof(unsigned char) * 512); int fd;
我用 C 编写了一个简单的服务器,并希望调用它的功能与调用其他 C 守护程序的功能相同(例如使用 ./ftpd start 调用它并使用 ./ftpd stop 关闭该实例)。显然我遇到的问题是我不知
在 dos 中,当我粘贴此命令时它会起作用: "C:\Program Files (x86)\Google\Chrome\Application\chrome.exe" https://google.
在 dos 中,当我粘贴此命令时它会起作用: "C:\Program Files (x86)\Google\Chrome\Application\chrome.exe" https://google.
我希望能够从 cmd 在我的 Windows 10 计算机上调用 python3。 我已重新安装 Python3.7 以确保选择“添加到路径”选项,但仍无法调用 python3 并使 CMD 启动 P
我是一名优秀的程序员,十分优秀!