Skip to content

Instantly share code, notes, and snippets.

@plwalters
Last active January 10, 2017 01:26
Show Gist options
  • Save plwalters/6daffa7d36c43138b6ffc0d050a9639b to your computer and use it in GitHub Desktop.
Save plwalters/6daffa7d36c43138b6ffc0d050a9639b to your computer and use it in GitHub Desktop.
DI inheritance
<template>
<require from="my-component"></require>
<h1>${message}</h1>
<my-component></my-component>
</template>
import {Service} from './service';
export class App {
static inject = [Service];
constructor(service) {
this.service = service;
console.log(this.service.id);
}
message = 'Hello World';
}
<!doctype html>
<html>
<head>
<title>Aurelia</title>
<meta name="viewport" content="width=device-width, initial-scale=1">
</head>
<body aurelia-app>
<h1>Loading...</h1>
<script src="https://cdn.rawgit.com/jdanyow/aurelia-bundle/v1.0.3/jspm_packages/system.js"></script>
<script src="https://cdn.rawgit.com/jdanyow/aurelia-bundle/v1.0.3/config.js"></script>
<script>
System.import('aurelia-bootstrapper');
</script>
</body>
</html>
<template>
My Component
</template>
import {Service} from './service';
export class MyComponent {
static inject = [Service];
constructor(service) {
this.service = service;
console.log(this.service.id);
}
}
import {singleton} from 'aurelia-framework';
export class Service {
id = Math.random() * (10000 - 1) + 1;
}
singleton(Service);
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment