Skip to content

Instantly share code, notes, and snippets.

@ramiresnas
Created September 28, 2017 23:50
Show Gist options
  • Save ramiresnas/dfed90080d7a9e8bbf62436a158d7f46 to your computer and use it in GitHub Desktop.
Save ramiresnas/dfed90080d7a9e8bbf62436a158d7f46 to your computer and use it in GitHub Desktop.
// View.js
class View{
constructor(selector){
this.element = document.querySelector(selector)
}
//deve ser reescrito
template(model){
throw new Error("abstract method must be override")
}
update(model){
this.element.innerHTML = this.template(model)
}
}
//MemberView.js
class MemberView extends View{
constructor(selector){
super(selector)
}
//uma view simples com uma acao do controller atrelada a um evento de click
template(member){
return `<h1> Ramires </h1>
<a href="#logout" onClick="loginController.logOut(event)">
logout
</a>
`
}
}
//MemberController
class MemberController{
constructor(selector){
this.memberView = new MemberView(selector)
this.memberView.update() //mostra a view ao criar um memberController
}
}
//index.html
...
<div id="member"> </div>
<script>
const memberController = new MemberController("#member")
</script>
....
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment