можно ли как-то у унаследованного класса расширить метод его прототипа
Есть класс Blog со следующем методом
createEventListener() {
this.$searchLink.addEventListener('click', this.search.bind(this));
this.$searchText.addEventListener('keydown', e => {
if ( e.keyCode == 13 ) this.$searchLink.click();
})
}
И есть класс AdminBlog(подкласс) от Blog, у него также есть метод createEventListener.
Мне нужно чтобы вызывался свой метод и прототипа. Можно ли так сделать или всё таки переименовать метод
Ответы (1 шт):
Автор решения: Yugofx
→ Ссылка
Попробуйте вызвать метод прототипа с установленным контекстом
createEventListener() {
Blog.prototype.createEventListener.call(this);
this.$searchLink.addEventListener('click', this.search.bind(this));
this.$searchText.addEventListener('keydown', e => {
if ( e.keyCode == 13 ) this.$searchLink.click();
});
}
В ES6 все гораздо проще.
createEventListener() {
super.createEventListener();
this.$searchLink.addEventListener('click', this.search.bind(this));
this.$searchText.addEventListener('keydown', e => {
if ( e.keyCode == 13 ) this.$searchLink.click();
});
}