Я пытаюсь вызвать метод (clickRegister) из класса Helper:
class AdminPanelHelper {
constructor() {
}
static clickRegister(callback){
var promise = new Promise(function(res,rej) {
$('.register-link').click(function() {
$('.admin-body').fadeOut(function() {
callback();
res();
})
});
})
promise.then(function() {
$('.admin-body').fadeIn();
})
}
}
на моем контроллере:
class AdminPanelController {
constructor() {
this._loginView = new LoginView($('.admin-body'));
this._registerView = new RegisterView($('.admin-body'));
}
showLogin(){
this._loginView.update();
var e = this;
AdminPanelHelper.clickRegister(e._registerView.update);
}
}
Но я получаю в консоли ошибку 'View.js: 7 Uncaught TypeError: Невозможно прочитать свойство' _element 'из неопределенного'
Я использую партнера по разработке mvc с расширенным представлением RegisterView.
На самом деле не знаю, что не так, элемент был объявлен как "this._registerView = new RegisterView ($ ('. Admin-body'));"
EDIT:
Добавление класса RegisterView и класса просмотра:
class RegisterView extends View {
constructor(element) {
super(element);
}
template(){
return `
<div class="form-body">
<div class="welcome">
<h2 class="login-welcome">This is only for test, your account will be deleted after 20min</h2>
</div>
<form id="register" class="" action="register" method="POST">
<input type="text" name="user" id="user" value="" placeholder="USER">
<input type="email" name="email" id="email" value="" placeholder="EMAIL">
<input type="password" name="password" id="password" value="" placeholder="PASSWORD">
<input type="password" name="passwordConf" id="passwordConf" value="" placeholder="CONFIRM PASSWORD">
<input class="btn btn-primary register-user" type="submit" value="Register" id='regsubmit'>
</form>
<div class="register-link-body">
<span>Back to <a class="login-link">login</a></span><br>
</div>
</div>
`
}
}
Просмотр класса:
class View {
constructor(element) {
this._element = element;
}
update(model){
this._element.html(this.template(model));
}
}