Advertisement
boky8

My custom component

Mar 27th, 2019
133
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. class MyElement {
  2.  
  3.     onRender() {
  4.         return /*html*/`
  5.             <div id="firstName"></div>
  6.             <div id="lastName"></div>
  7.         `;
  8.     }
  9.  
  10.     onInit() {
  11.         this.firstName = this.get('#firstName');
  12.         this.lastName = this.get('#lastName');
  13.     }
  14.  
  15.     onUpdate(state) {
  16.         this.firstName.innerText = state.firstName;
  17.         this.lastName.innerText = state.lastName;
  18.     }
  19.  
  20. }
  21.  
  22. class MyParent {
  23.  
  24.     onRender() {
  25.         return /*html*/`
  26.             <div id="myElement"></div>
  27.             <button id="btnChangeName">Change name</button>
  28.             <input id="txtFirstName">
  29.         `;
  30.     }
  31.  
  32.     onInit() {
  33.         this.myElement = this.get('#myElement');
  34.         this.btnChangeName = this.get('#btnChangeName');
  35.         this.txtFirstName = this.get('#txtFirstName');
  36.  
  37.         const myElement = new MyElement();
  38.  
  39.         myElement.attachTo(this.myElement);
  40.         myElement.setState({ firstName: 'Pero', lastName: 'PeriΔ‡' });
  41.  
  42.         this.btnChangeName.addEventListener('click', () => this.changeName());
  43.     }
  44.  
  45.     onUpdate(state) {
  46.        
  47.     }
  48.  
  49.     changeName() {
  50.         const firstName = this.txtFirstName.value;
  51.         this.myElement.setState({ firstName });
  52.     }
  53.  
  54. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement