gpt4 book ai didi

backbone.js - 我应该如何使用 Backbone.Marionette 和 requireJs 引导我的网络应用程序

转载 作者:行者123 更新时间:2023-12-04 08:52:59 25 4
gpt4 key购买 nike

假设我的应用程序有效,但我喜欢学习并找到做事的最佳方式。
我真的很感谢这篇关于 Reducing Backbone Routers To Nothing More Than Configuration 的帖子.
以及以下 bbclonemail不使用需要。

实际上我的实现是一个整体块( app.js , router.js )。

这是我的问题:
1) router module 应该怎么做? router.js返回?
2) 我应该如何删除 The Callback Functions来自 router.js ?
3)app module应该怎么做? app.js返回?
4)我应该如何解耦app.js在许多其他应用程序中(例如:主要、任务、项目)

app.js

// app.js
define([
'router'
// some modules
],
function (router, Backbone, HeaderView)
{
"use strict";
var myApp = new Backbone.Marionette.Application();

myApp.addRegions({
header: '#header',
sidebar: '#sidebar',
mainColumn: '#main-column',
rightColumn: '#right-column'
});

myApp.initHeader = function () {
var headerView = new HeaderView();
myApp.header.show(headerView);
}

// many others many views

myApp.start();

myApp.initialize = function() {
router.initialize();
Backbone.history.start();
}

return myApp;

});

router.js
// router.js
define([
// some modules
],
function (Backbone)
{
"use strict";
var AppRouter = Backbone.Marionette.AppRouter.extend({

routes: {
tasks: 'tasks',
projects: 'projects',
// many others keys/values
'*defaults': 'home'
},

getApp: function ()
{
var mainApp;
require(['js/app'], function (app) {
mainApp = app;
});
return mainApp;
},

home: function()
{
var app = this.getApp();
app.initHeader();
app.initSidebar();
app.initTaskDetails();
},

// many others callbacks

});

var initialize = function() {
new AppRouter;
};
return {
initialize: initialize
};

});

最佳答案

对于路由器部分,您应该像这样:

router.js

// router.js
define([
'rooterController'
// some modules
],
function (Backbone, rooterController)
{
"use strict";
var AppRouter = Backbone.Marionette.AppRouter.extend({

routes: {
tasks: 'tasks',
projects: 'projects',
// many others keys/values
'*defaults': 'home'
}
});
return new AppRouter({constroller: rooterController})
});

关于backbone.js - 我应该如何使用 Backbone.Marionette 和 requireJs 引导我的网络应用程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11048820/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com