This is an Ember-cli addon that provides a clock service. The clock synchronizes to the local host system clock and can be used to display the time or to update time sensitive properties.
2.x requires Ember 4+ and Node 18+
v2.0.0 removes implicit injections as these are deprecated in Ember 3.x and removed in Ember 4.x. You must explicitly inject the clock service like so:
import Component from '@glimmer/component';
import { service } from '@ember/service';
export default class MyComponent extends Component {
@service clock;
}
http://lozjackson.github.io/ember-clock/
ember install ember-clock
The clock service is injected into all controllers and components.
To use the clock in a template or in computed properties, bind to the clock's
hour
, minute
, or second
properties.
In templates:
In computed properties:
property: Ember.computed("clock.second", function () {
// this will update every second
});
property: Ember.computed("clock.minute", function () {
// this will update every minute
});
property: Ember.computed("clock.hour", function () {
// this will update every hour
});
The clock service will break Ember acceptance tests, as it creates a continuous run loop to update the current time. To disable the runloop update your config/environment file with the following
module.exports = function (environment) {
//...
if (environment === "test") {
//...
ENV["ember-clock"] = {
disabled: true,
};
}
};