骨干木偶隐藏模块

时间:2014-03-06 19:21:13

标签: marionette backbone-views

我正在开发一个主应用程序包含区域的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);
});

1 个答案:

答案 0 :(得分:0)

结帐此应用https://github.com/davidsulc/structuring-backbone-with-requirejs-and-marionette, 如果你有点了解木偶,请理解它。我相信它会有所帮助。它有主要木偶应用程序的启动和弯曲功能子模块应用程序。

据我所知它是高度模块化的骨干应用程序。