我正在开发一个主应用程序包含区域的webapp。 首先,主要区域将使用LoginModule启动,其中包含带有html模板的LoginView。成功登录后,我希望LoginModule停止并隐藏视图并启动一系列新模块并渲染它们。 到目前为止,我可以在应用程序区域中呈现新模块,但是我在停止和隐藏LoginView时失败了。我该怎么办?
MyApp.module("LoginModule", function(LoginModule, MyApp, Backbone, Marionette, $,_){
LoginModule.startWithParent = true;
//Private Data And Functions
//E.g. var privateVar = "private";
//Public Data And Functions
//E.g. LoginModule.publicVar = "public";
LoginModule.view = new LoginView();
//Initializer & Finalizer
LoginModule.addInitializer(function(){
});
LoginModule.addFinalizer(function(){
LoginModule.view = null;
});
//Functions
LoginModule.login = function(email, password){
//Hardcoded Login
var marius = new User({name: "Marius", surname: "Widmann", password: "password", email: "marius.widmann@gmail.com"});
if(marius.get('email') === email){
//Start the NavBarView in the header region
MyApp.header.show(new NavBarView());
/*####################*/
//Now here I want to stop the module or lets say hide the LoginView
/*####################*/
}else{
alert('Login failed');
}
}
});
//Module Subscribers
MyApp.module('LoginModule').on('LoginView:login', function(email, password){
this.login(email, password);
});
答案 0 :(得分:0)
结帐此应用https://github.com/davidsulc/structuring-backbone-with-requirejs-and-marionette, 如果你有点了解木偶,请理解它。我相信它会有所帮助。它有主要木偶应用程序的启动和弯曲功能子模块应用程序。
据我所知它是高度模块化的骨干应用程序。