いくつかのアプリでアプリを分割しました。バックボーンとrequirejsを使用して複数のルーティングを定義/使用する方法
main.js
app.js
app1/
|- routing
|- controller
|- app
app2/
|- routing
|- controller
|- app
1)app1
でルータを使用しようとすると、それらが動作します。
2)app2
でルータを使用しようとすると、動作しません。
3)'js/app1/routing',
の行にmain.js
という文字列を入力した場合は、app2
のルータが動作します。
この現象はなぜ発生しますか?
githubに複数のルーティングとrequirejsを使用するアプリの例はありますか?
ありがとうございました。ここで
は私のコードです:
** 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;
});
* * a 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
});
});
あなたの答えに感謝します。実際、 ''* defaults':index1''の代わりに' '':' index1''を設定すると、それはうまくいきます。再度、感謝します。 –
@DerickBailey http://stackoverflow.com/questions/20017210/router-js-function-not-executedここで私を助けることができますか? – CodeGuru
@DerickBailey実際には、実際にあなたが記述したものの反対が真実であるようです:ある種のキャッチオールルートを使用している場合は、他のより具体的なルートが機能するためには最初にロードする必要があります。理想的には、そのような振る舞いは、一方的に、あるいは他方に頼ることができるように指定されます。 –