0
以内に、私はこのES6クラスを持っている:クラス内ES6コールクラスメソッドだけでなく、クリック機能の
class CommentsController {
constructor() {
this.$addCommentForm = $('.add-comment')
this.$addCommentButton = $('.add-comment input[type=submit]')
}
init() {
this.addCommentFormListener();
}
addCommentFormListener() {
this.$addCommentButton.on('click', function(e) {
e.preventDefault();
let imageId = parseInt($(this).parents('ul').data('id'));
let inputText = $(this).parents('ul').find('.user-text').val();
let comment = new Comment(inputText, imageId);
debugger;
CommentsController.renderComment(comment, imageId)
});
}
renderComment(comment, imageId) {
let image = Image.all[imageId]
image.comments.push(comment)
$('#images').find(`ul[data-id=${imageId}] ul#comments-${imageId}`).append(`<li>${comment.text}</li>\n`);
}
}
this
がないため、問題は、デバッガで、私はrenderComment関数を呼び出したいが、私はできないということですコントローラーをもう参照しないでください。私に何ができる?
それは本当に問題ではありませんので、 'renderComment'は、全く' this'を使用していません。 'static'メソッド(インスタンスではなく' CommentController'クラスの上に、それをとにかく呼び出す方法です)を作っても問題ありません。 – Bergi