我正在处理一个应用程序,其中我们使用了backbone和marionette js. Nw的问题是路由。虽然导航通过应用程序流,如果工作正常。在其中一个模块中,如果你刷新页面,那么backbne模块不会启动。这意味着如果你试图访问该模块的url**#URL**,那么它将不会启动。
下面是该模块的代码
define(["app"], function (Splanner) {
Splanner.module("RegistrationModule", function (Registration, Splanner, Backbone, Marionette, $, _) {
Registration.startWithParent = false;
Registration.onStart = function () {
console.log('Module Start');
};
Registration.onStop = function () {
console.log('Module Stop');
};
});
Splanner.module("RegistrationRouter", function (RegistrationRouter, Splanner, Backbone, Marionette, $, _) {
RegistrationRouter.Router = Marionette.AppRouter.extend({
appRoutes: {
"newvisitor/registration": "visitorRegistration"
}
});
var executeAction = function (controllerAPI, arg) {
Splanner.startModule("RegistrationModule");
controllerAPI(arg);
};
var API = {
visitorRegistration: function () {
require(["modules/visitor/registration/RegistrationController"], function (RegistrationController) {
executeAction(RegistrationController.showVisitorRegistration);
});
}
};
Splanner.on("visitor:registration:show", function (myVisitor) {
Splanner.navigate("newvisitor/registration");
API.visitorRegistration(myVisitor);
});
Splanner.addInitializer(function () {
new RegistrationRouter.Router({
controller: API
});
});
});
return Splanner.RegistrationRouter;
});
现在,当我通过应用程序流时,它不工作,但当我使用**#newvisitor/registration**url时,模块没有开始。
1条答案
按热度按时间v64noz0r1#
这个设置看起来像我使用的那个,按照我读过的 puppet 书。在我的任何模块,我想在开始时可用,我已经在我的app.js文件中放置了一个调用它触发后初始化。不知道这是否会是相同的,但我被抓住了,当开始这个,没有模块可用