Divido mi aplicación en varias aplicaciones.Cómo definir/usar varias rutas usando backbone y requirejs
main.js
app.js
app1/
|- routing
|- controller
|- app
app2/
|- routing
|- controller
|- app
1) Cuando trato de utilizar los routers en app1
, funcionan.
2) Cuando intento utilizar los enrutadores en app2
, no funcionan.
3) Si comento la línea 'js/app1/routing',
en main.js
funcionan los enrutadores en app2
.
¿Por qué me aparece este comportamiento?
¿Hay algún ejemplo de aplicación que usa enrutamiento múltiple y requirejs en github?
gracias.
Aquí está mi código:
** ** main.js
define([
'js/app',
'js/app1/routing', // the routers in this app work
'js/app2/routing' // the routers in this app do not work but
// if I comment the previous line (js/app1/routing',)
// they works
],
function (App)
{
"use strict";
App.initialize();
});
** ** app.js
define([],
function()
{
"use strict";
var app = new Backbone.Marionette.Application();
return app;
});
* * un PP1/rotuing **
define(['backbone','app1/controller'], function(Backbone, controller)
{
"use strict";
var Router = Backbone.Marionette.AppRouter.extend({
appRoutes: {
'*defaults': 'index1'
}
});
return new Router({
controller: controller
});
});
** app2/routing.js **
define(['backbone','app2/controller'], function(Backbone, controller)
{
"use strict";
var Router = Backbone.Marionette.AppRouter.extend({
appRoutes: {
'app2': 'index2'
}
});
return new Router({
controller: controller
});
});
Gracias por su respuesta. De hecho, si configuro ''': 'index1'' en lugar de'' * defaults ':' index1'' funcionará. Gracias de nuevo. –
@DerickBailey http://stackoverflow.com/questions/20017210/router-js-function-not-executed ¿Puede ayudarme? :) – CodeGuru
@DerickBailey Parece que en la práctica, lo contrario de lo que usted describe es cierto: si está utilizando algún tipo de ruta de captura, debe estar cargado _primero_ para que las otras rutas más específicas funcionen. Idealmente, el comportamiento se especificaría para que podamos confiar en él, de una forma u otra. –