Skip to content

Instantly share code, notes, and snippets.

@svkangal
Last active June 9, 2020 23:10
Show Gist options
  • Select an option

  • Save svkangal/26246f02d8d89f3ca2faea9ff3773b58 to your computer and use it in GitHub Desktop.

Select an option

Save svkangal/26246f02d8d89f3ca2faea9ff3773b58 to your computer and use it in GitHub Desktop.
Ember Inject
import Component from '@glimmer/component';
import { action } from '@ember/object';
export default class extends Component {
name='test-component';
constructor() {
super(...arguments);
console.log(this);
}
@action callAct() {
console.log(this);
}
}
import Controller from '@ember/controller';
export default class ApplicationController extends Controller {
appName = '';
constructor() {
super(...arguments);
console.log(this);
// The above this shows the appServerData property
// but if you try to access it, it throws an error, not sure why.
//console.log(this.appServerData.name);
//this.appName = this.appServerData.name;
}
}
import Ember from 'ember';
import EmberObject from '@ember/object';
import Application from '@ember/application';
export function initialize(application) {
application.register(
'appServerData:global',
EmberObject.extend({
name: 'test'
})
);
console.log('here-1');
application.inject('controller', 'appServerData', 'appServerData:global');
application.inject('route', 'appServerData', 'appServerData:global');
application.inject('component', 'appServerData', 'appServerData:global');
console.log(application);
}
export default {
name: 'meta',
initialize
};
import Route from '@ember/routing/route';
export default Route.extend({
setupController(controller, model) {
console.log(this.appServerData.name);
console.log(controller.appServerData.name);
}
});
<h1>Welcome to {{this.appName}}</h1>
<br>
<br>
<MyComponent/>
{{outlet}}
<br>
<br>
<span {{on "click" (fn this.callAct)}}>{{this.name}}</span>
{
"version": "0.17.1",
"EmberENV": {
"FEATURES": {},
"_TEMPLATE_ONLY_GLIMMER_COMPONENTS": false,
"_APPLICATION_TEMPLATE_WRAPPER": true,
"_JQUERY_INTEGRATION": true
},
"options": {
"use_pods": false,
"enable-testing": false
},
"dependencies": {
"jquery": "https://cdnjs.cloudflare.com/ajax/libs/jquery/3.5.1/jquery.js",
"ember": "3.15.0",
"ember-template-compiler": "3.15.0",
"ember-testing": "3.15.0"
},
"addons": {
"@glimmer/component": "1.0.0",
"ember-data": "3.15.1"
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment