Last active
February 12, 2022 21:15
-
-
Save koras/b945f521d4e631e74d0d6a6f304d43a5 to your computer and use it in GitHub Desktop.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
class Component { | |
constructor() { | |
if (new.target === Component) { | |
throw new Error(`Can't instantiate Component, only concrete one.`); | |
} | |
} | |
get template() { | |
throw new Error(`You have to define template.`); | |
} | |
static createElement(template) { | |
const createNewTag = document.createElement(`div`); | |
createNewTag.innerHTML = template; | |
return createNewTag.firstChild; | |
} | |
render() { | |
this._element = Component.createElement(this.template); | |
this.setEventListener(); | |
return this._element; | |
} | |
removeItem() { | |
this.removeEventListener(); | |
this._element.remove(); | |
this._element = null; | |
} | |
setEventListener() {} | |
removeEventListener() {} | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment