【发布时间】:2025-11-30 10:00:01
【问题描述】:
我正在开发一个使用主干和 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 时,模块没有启动。
【问题讨论】:
标签: jquery backbone.js marionette single-page-application backbone-routing