2
我嘗試使用Backbone進行身份驗證應用程序。骨幹錯誤視圖不是構造函數
我的main.js.應用程序啓動的位置:
require(['backbone', './views/AppView'], function (Backbone, AppView) {
'use strict';
var App = new AppView();
App.render();
);
我已經使用requirejs聲明瞭我的庫。 我AppView.js:
define (['backbone', 'Login', './home/HomeView', './login/LoginView'], function (Backbone, Login, HomeView, LoginView) {
'use strict';
var AppView = Backbone.View.extend({
el : 'body',
initialize : function() {
console.log('init Appview');
if (Login.isConnected()) {
//Utilisateur connecté
this.view = new HomeView();
}
else{
//Utilisateur pas connecté
this.view = new LoginView();
}
},
render : function() {
this.$el.html(this.view.render().$el);
return this;
}
});
return AppView;
});
在這裏,我檢查,如果用戶連接。如果他是:AppView,如果他不是:LoginView。 目前一切正常,LoginView出現。
LoginView:
define(['backbone', 'underscore', 'jquery', 'requirejs-tpl!./../../../../resources/templates/login/LoginTemplate.html', 'Login', './../AppView'], function (Backbone, _, $, LoginTemplate, Login, AppView) {
'use strict';
var LoginView = Backbone.View.extend({
initialize : function() {
},
render : function() {
this.$el.html(LoginTemplate());
return this;
},
events : {
'click #btnConnect' : 'connect'
},
connect : function (event) {
event.preventDefault();
var login = $('#login').val();
var password = $('#password').val();
var ReponseLogin = Login.login(login, password);
if(!ReponseLogin.connected){
//Erreur
$('#showErreur').html(ReponseLogin.erreur);
}
else{
//Pas d'erreur, on affiche l'appli, AppView
var App = new AppView();
App.render();
}
}
});
return LoginView;
});
當我嘗試申報上HomeView被重新加載新APPVIEW: 「類型錯誤:APPVIEW是不是構造」。
有人能幫助我嗎?
謝謝