Dac*_*d3r 5 javascript aurelia
根据Aurelia的创建者Rob Eisenberg的说法,应该可以在彼此内部嵌套aurelia应用程序.
由于他在上述链接中提到的例子不再公开,如果这里的任何人可以进一步详细说明,甚至链接或写一个关于如何实现这种嵌套的小例子,这将是非常有用的.
我希望用Aurelia创建的主要应用程序和界面将包含一个Windows XP桌面样式shell,其中一个可以从开始菜单打开嵌套的Aurelia应用程序,在主应用程序内的嵌入式窗口中打开"Windows桌面区域" - 就像Windows或文件浏览器将在正常的Windows XP操作系统中打开,但在SPA内部.
为了使这个真正可扩展,我宁愿保留将嵌套aurelia应用程序放在主应用程序根文件夹之外的文件夹中的可能性,而是使用磁盘上的文件/文件夹路径从主应用程序链接到它们.
因此,为了保持"简单",想象这将是主要应用程序(Windows shell) - 单击按钮打开一个窗口,可以最小化,调整大小或移动.在那个窗口中,另一个aurelia应用程序将打开.最后,您希望能够将某些状态从主应用程序转移到嵌套应用程序,例如.语言或数据库.
如果可能,最好是嵌套应用程序可以从主应用程序根文件夹外部定位和引用.
这是一个例子:https://gist.run?id = 7cda93aa0a225805ddf6
app.html
<template>
<require from="./child-app"></require>
<child-app main.bind="main1"></child-app>
<child-app main.bind="main2"></child-app>
</template>
Run Code Online (Sandbox Code Playgroud)
app.js
export class App {
main1 = './one/app';
main2 = './two/app';
}
Run Code Online (Sandbox Code Playgroud)
儿童app.js
import {
Aurelia,
noView,
bindable,
inject,
Container
} from 'aurelia-framework';
import {Loader} from 'aurelia-loader';
@noView()
@inject(Loader, Element)
export class ChildApp {
@bindable main;
constructor(loader, element) {
this.host = element;
this.app = new Aurelia(this.loader, new Container());
this.app.use.standardConfiguration();
}
mainChanged() {
this.app.start().then(a => a.setRoot(this.main, this.host));
}
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
540 次 |
| 最近记录: |