All Projects → NullVoxPopuli → ember-deep-tracked

NullVoxPopuli / ember-deep-tracked

Licence: MIT License
Deep auto-tracking for when you just don't care, and want things to work (at the cost of performance in some situtations)

Programming Languages

typescript
32286 projects
javascript
184084 projects - #8 most used programming language
HTML
75241 projects
Handlebars
879 projects

Projects that are alternatives of or similar to ember-deep-tracked

glimmer-apollo
Ember and Glimmer integration for Apollo Client.
Stars: ✭ 32 (+60%)
Mutual labels:  ember, emberjs, ember-addon, glimmer
Ember Cli Addon Docs
Easy, beautiful docs for your OSS Ember addons
Stars: ✭ 162 (+710%)
Mutual labels:  ember, emberjs, ember-addon
Ember Cli Bundle Analyzer
Analyze the size and contents of your Ember app's bundles
Stars: ✭ 78 (+290%)
Mutual labels:  ember, emberjs, ember-addon
ember-cli-g-maps
Deprecated Google Maps Addon
Stars: ✭ 58 (+190%)
Mutual labels:  ember, emberjs, ember-addon
ember-headlessui
gavinjoyce.github.io/ember-headlessui/
Stars: ✭ 76 (+280%)
Mutual labels:  ember, emberjs, ember-addon
Ember Styleguide
This is a UI addon that intends to help standardize the Ember family of websites and make it easier to make the Ember website an Ember app.
Stars: ✭ 69 (+245%)
Mutual labels:  ember, emberjs, ember-addon
ember-on-modifier
Implements the `{{on eventName this.someAction}}` element modifier from https://github.com/emberjs/rfcs/blob/master/text/0471-on-modifier.md
Stars: ✭ 37 (+85%)
Mutual labels:  ember, emberjs, ember-addon
Ember Apollo Client
🚀 An ember-cli addon for Apollo Client and GraphQL
Stars: ✭ 257 (+1185%)
Mutual labels:  ember, emberjs, ember-addon
ember-foxy-forms
Ember Addon for Making Foxy Forms
Stars: ✭ 27 (+35%)
Mutual labels:  ember, emberjs, ember-addon
ember-credit-card
"make your credit card form dreamy in one line of code"
Stars: ✭ 89 (+345%)
Mutual labels:  ember, emberjs, ember-addon
ember-link
Link primitive to pass around self-contained route references. It's {{link-to}}, but better!
Stars: ✭ 50 (+150%)
Mutual labels:  ember, emberjs, ember-addon
Ember Cli Foundation 6 Sass
Stars: ✭ 65 (+225%)
Mutual labels:  ember, emberjs, ember-addon
Docfy
Build fully personalized documentation sites; write content and demos in Markdown.
Stars: ✭ 48 (+140%)
Mutual labels:  ember, emberjs, ember-addon
Ember Accessibility
An EmberJS addon to help identify accessibility violations during development
Stars: ✭ 29 (+45%)
Mutual labels:  ember, emberjs, ember-addon
ember-shadow-dom
Write templates for your components inside of a Shadow DOM root.
Stars: ✭ 26 (+30%)
Mutual labels:  ember, emberjs, ember-addon
ember-cli-string-helpers
Set of the String helpers extracted from DockYard's ember-composable-helpers.
Stars: ✭ 73 (+265%)
Mutual labels:  ember, emberjs, ember-addon
ember-gridstack
Ember components to build drag-and-drop multi-column grids powered by gridstack.js
Stars: ✭ 31 (+55%)
Mutual labels:  ember, emberjs, ember-addon
ember-render-helpers
Complimentary render template helpers to the render modifiers
Stars: ✭ 19 (-5%)
Mutual labels:  ember, emberjs, ember-addon
ember-best-language
🏳 A FastBoot-enabled addon to detect the best language for your user.
Stars: ✭ 18 (-10%)
Mutual labels:  ember, emberjs, ember-addon
ember-event-helpers
Complimentary event template helpers to the {{on}} modifier
Stars: ✭ 33 (+65%)
Mutual labels:  ember, emberjs, ember-addon

ember-deep-tracked

npm version CI

Deep tracking using proxies for complex objects for when you want everything to be reactive, at the cost of performance.

This is not recommended for performance-sensitive situations such as rendering a table from a large data set where updates to that data set are frequent. Even without updates, deeply tracking will increase initial-render time.

Compatibility

  • Ember.js v3.13+
  • TypeScript v4.2+
  • Proxy support

Installation

npm install ember-deep-tracked
# or
yarn add ember-deep-tracked
# or
ember install ember-deep-tracked

Usage

import { tracked } from 'ember-deep-tracked';

class Foo {
  @tracked obj = { bar: 2 };
}

or in a component:

import { tracked } from 'ember-deep-tracked';
import Component from '@glimmer/component';

export default class Foo extends Component {
  @tracked obj = { bar: 2 };
}
{{this.obj.bar}} <- automatically updates when "obj.bar" changes

using this decorator form will track the reference, like tracked from @glimmer/tracking does, and then also deeply tracks the value.

the entire object and any sub object can be swapped with other objects and they'll be automatically tracked.

import { deepTracked } from 'ember-deep-tracked';

is also available, and is an alias of tracked

Contributing

See the Contributing guide for details.

License

This project is licensed under the MIT License.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].