Have you ever run into the infamous ember double render bug?
Do you find yourself breaking out import { scheduleOnce } from '@ember/runloop' all the time?
Are you frustrated about "god" components that can't be tested?
If so, this gist is for you!
| const COLLECTION = { | |
| "collection": { | |
| "id": "SOME-COLLECTION-ID", | |
| "name": "WALKING-SIMULATOR", | |
| "games": { | |
| "DEATH-STRANDING-XXX-1": { | |
| "id": "DEATH-STRANDING-XXX-1", | |
| "image": "https://i.ytimg.com/vi/i2nuHEGhwiw/sddefault.jpg" | |
| "genres": [ | |
| { "id": "GENRE-ID-1" }, |
| import Ember from 'ember'; | |
| const DOGE = 'http://i0.kym-cdn.com/entries/icons/mobile/000/013/564/doge.jpg'; | |
| export default Ember.Controller.extend({ | |
| appName: 'Ember Twiddle', | |
| DOGE | |
| }); |
| import Ember from 'ember'; | |
| export default Ember.Controller.extend({ | |
| appName: 'Video Problems' | |
| }); |
| import Ember from 'ember'; | |
| export default Ember.Component.extend({ | |
| tagName: 'canvas', | |
| attributeBindings: ['width', 'height'], | |
| width: 200, | |
| height: 274, |
| import Ember from 'ember'; | |
| export default Ember.Component.extend({ | |
| tagName: '', | |
| after: 0, | |
| willDestroyElement() { | |
| Ember.run.cancel(this.timeoutHandle); | |
| }, |
| import Ember from 'ember'; | |
| export default Ember.Controller.extend({ | |
| appName: 'QueryParams Demo', | |
| referrerLocation: null, | |
| queryParams: ['referrerLocation'] | |
| }); |
Have you ever run into the infamous ember double render bug?
Do you find yourself breaking out import { scheduleOnce } from '@ember/runloop' all the time?
Are you frustrated about "god" components that can't be tested?
If so, this gist is for you!
| import Ember from 'ember'; | |
| export default Ember.Component.extend({ | |
| willInsertElement() { | |
| Ember.tryInvoke(this, 'action'); | |
| } | |
| }).reopenClass({ | |
| positionalParams: ['action'] | |
| }); |
Here's is a quick-and-dirty summary of all the important things (from the point of view of SONY and PSNOW) that happened at Ember Conf 2018.
| import Ember from 'ember'; | |
| export default Ember.Component.extend({ | |
| tagName: 'li', | |
| prisoners: [], | |
| actions: { | |
| enprison(person) { | |
| this.get('prisoners').pushObject(person); |