- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在开发一个具有多个不同功能区域的 MarionetteJS Web 应用程序。例如,一个是“仪表板”,另一个是“组”,第三个是“事件”,每个都有自己的特定路线。
例如。
http://example.com/dashboard
)并启动适当的 Marionette 组件。
http://example.com/groups
将启动一组不同的 Marionette 组件
最佳答案
我会使用 CommonJS 模块采用以下方法。这些子应用程序或模块无法启动或停止,但它们提供了很好的分离。
app.js
var Marionette = require('backbone.marionette');
var _ = require('underscore');
module.exports = Marionette.Application.extend({
initialize: function() {
this._modules = [];
},
addModule: function(name, klass ,options) {
var module = new klass(options);
this._modules[name] = module;
}
});
var Marionette = require('backbone.marionette');
module.exports = Marionette.LayoutView.extend({
el: '#app',
regions: {
header: '[data-region="header"]',
main: '[data-region="main"]'
}
});
var Marionette = require('backbone.marionette');
var Router = require('./router');
var Group = require('./model/group');
var GroupCollection = require('./model/group_collection');
var GroupListView = require('./list/collection_view');
var GroupDetailView = require('./detail/group_view');
module.exports = Marionette.Object.extend({
initialize: function(options) {
this.container = options.container;
this.router = new Router({
controller: this
});
this.groups = new GroupCollection();
},
groupList: function() {
var groupListView = new GroupListView({
collection: this.groups
});
this.groups.fetch();
this.container.show(groupListView);
},
groupDetail: function(id) {
var groupDetailView = new GroupDetailView({
model: this.groups.findWhere({id: id})
});
this.container.show(groupDetailView);
}
});
var Marionette = require('backbone.marionette');
module.exports = Marionette.AppRouter.extend({
appRoutes: {
'groups': 'groupList',
'groups/:id': 'groupDetail'
}
});
var Backbone = require('backbone');
var Application = require('./app');
var MainLayout = require('./layout');
var HeaderApp = require('./header');
var GroupsApp = require('./groups');
var app = new Application();
var layout = new MainLayout();
app.addModule('header', HeaderApp, {
container: layout.getRegion('header')
});
app.addModule('groups', GroupsApp, {
container: layout.getRegion('main')
});
app.start();
Backbone.history.start({
pushState: true
});
关于architecture - MarionetteJS 和 "Sub Applications",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32426138/
我正在构建一个 Backbone Marionette 应用程序,其中包括页眉区域、页脚(菜单)区域和内容区域。我正在阅读 MarionetteJS - 一本温和的介绍书。 我的目标是让主要内容区域根
Marionette 中有聚合事件的方法吗? 我的意思是改变这个会容易得多: MyApp.vent.on("taskMoved", function(moveData){
基于此fact , 应用程序中的区域已弃用。你如何渲染根布局?简单地新建 RootLayout() 将不会呈现布局 View 。我知道调用 region show() 函数将呈现布局,但由于 Appl
我还有一个关于 Backbone.Marionette 框架的问题。 背景在阅读了 Github 文档并自行开发后 example here (仍在进行中)。我决定退后一步,看看如何最好地实现嵌套 V
我有一个通知工具栏,它是一个模块。非常类似于 facebook native 应用程序中的通知工具栏。在此工具栏中有 3 个区域: 邀请地区 请求区域 通知区域 其中每个区域都包含自己的模块(Invi
我正在开发一个具有多个不同功能区域的 MarionetteJS Web 应用程序。例如,一个是“仪表板”,另一个是“组”,第三个是“事件”,每个都有自己的特定路线。 例如。 /dashboard#sh
我目前正在开发一个大型 Backbone 应用程序(使用 marionetteJS),并且在切换 View 或更改“页面”时涉及的最佳实践/模式方面遇到了一些架构问题。 Marionette 的布局和
我正在 IE8 中测试我的网站。我正在使用 MarionetteJS,并且我已将 View 动态添加到页面中。 我的页面在 marionette.js 代码中中断: this.el.appendChi
我正在使用 MarionetteJS compositeView。 出于某种原因,我得到了一个递归模板行为。 通常 itemView 的模板在 itemViewContainer 中呈现,但出于某种原
我现在坚持了。我收到以下错误: TypeError: listenTo is undefined return listenTo.call(this, evtSource, events, _.
如何在 Marionette.js 中仅使用您想要的 API 调用部分使用下面的代码: /messages 返回 JSON: messages.foo messages.read messages.f
现在我经常使用 Backbone.Marionette,我担心处理 DOM 外部属性的最佳方式是什么。 有时我需要做这样的事情: 我的view.js var MyView = ItemView.ext
我最近一直在使用 Backbone.Marionette,在尝试模拟单页 Web 应用程序时遇到了一些问题。我创建了一个Plunker有一个动态生成的列表项菜单。我的目标是在各个菜单项之间设置路由,以
我正在尝试使用 Typescript 编写 MarionetteJS 模块。编译后的模块应该使用 RequireJS 添加到纯 javascript 应用程序中,并初始化为普通的 Marionette
这个问题在这里已经有了答案: What to use since Marionette Application Regions are deprecated (1 个回答) 5年前关闭。 我正在阅读最
我有一个 Marionette View SingleCategoryView,它接受一个集合并呈现一个 Collection View optionsView。optionsView 是 itemV
如何在 Marionette 中获取模型之前推迟渲染?我可以在模型上监听更改事件,但它会被渲染两次。有没有优雅的解决方案? Manager.module 'Views', ( Views, App,
当使用 model.destroy() 删除我的 DOM 元素时,我尝试加载另一个模板并应用动画。正如答案之一所述 Backbone.js `model.destroy()` custom trans
我一直在读这本书我试过第一个例子,但它不渲染模板,它默认只显示文本。当我打开控制台时,应用程序 ContactManager 退出并被初始化。 --> Marione
我是一名优秀的程序员,十分优秀!