我找到了几个关于如何创建单个页面应用程序的示例,但我不确定要采用哪条路径。我的网络应用程序纯粹基于桌面浏览器 - 不需要移动支持。
一个人正在使用dojox/app(但这主要针对移动应用程序 - 是否可以用于桌面应用程序,完全支持标准dojo,包括桌面小部件和功能?)
另一个人正在使用此示例Dojorama
我还发现了这个例子Dojomat
有推荐的方法吗?
答案 0 :(得分:2)
这里有一个示例/入门应用程序我做了一段时间后,被dojo人祝福了。 https://github.com/denov/dojo-demo
答案 1 :(得分:1)
我没有很好的使用Dojo Toolkit的经验,但我在我的项目上做了这些步骤:
为应用程序创建布局:
<body class="claro">
<div data-dojo-type="dijit/layout/LayoutContainer">
<div data-dojo-type="app/MainMenu" data-dojo-props="region: 'center'"></div>
<div data-dojo-type="dijit/layout/ContentContainer" id="contentContainer"></div>
</div>
</body>
现在我注册了路由,当哈希值发生变化时,我会检查contentContainer
:
var self = this;
if (this.content){
this.content.destroyRecursive(); // Dijit widget method
}
require([
pathToApplicationModule // Maked as dedicated widget
], function (Widget){
self.content = new Widget();
self.content.placeAt(registry.byId("contentContainer");
self.content.startup();
});
应用程序的每个部分都是Widget,例如:
define([
"dojo/_base/declare",
"dijit/_WidgetBase",
"dijit/_TemplatedMixin",
"dijit/_WidgetsInTemplateMixin",
"dojo/text!./templates/MainMenu.html",
"dijit/MenuBar",
"dijit/MenuItem"
], function (
declare,
WidgetBase,
TemplatedMixin,
WidgetsInTemplateMixin,
template
){
return declare("app.MainMenu", [
WidgetBase,
TemplatedMixin,
WidgetsInTemplateMixin
], {
// Here main menu properties: template, actions, etc.
});
});
用户权限怎么样?我不知道。也许,通过AJAX加载。