Class ArrayProxy
publicimport ArrayProxy from '@ember/array/proxy';
An ArrayProxy wraps any other object that implements Ember.Array
and/or
Ember.MutableArray,
forwarding all requests. This makes it very useful for
a number of binding use cases or other cases where being able to swap
out the underlying array is useful.
A simple example of usage:
let pets = ['dog', 'cat', 'fish'];
let ap = Ember.ArrayProxy.create({ content: Ember.A(pets) });
ap.get('firstObject'); // 'dog'
ap.set('content', ['amoeba', 'paramecium']);
ap.get('firstObject'); // 'amoeba'
This class can also be useful as a layer to transform the contents of
an array, as they are accessed. This can be done by overriding
objectAtContent
:
let pets = ['dog', 'cat', 'fish'];
let ap = Ember.ArrayProxy.create({
content: Ember.A(pets),
objectAtContent: function(idx) {
return this.get('content').objectAt(idx).toUpperCase();
}
});
ap.get('firstObject'); // . 'DOG'
Methods
- addArrayObserver
- addObject
- addObjects
- addObserver
- any
- arrayContentDidChange
- arrayContentWillChange
- cacheFor
- clear
- compact
- decrementProperty
- destroy
- every
- filter
- filterBy
- find
- findBy
- forEach
- get
- getEach
- getProperties
- getWithDefault
- includes
- incrementProperty
- indexOf
- init
- insertAt
- invoke
- isAny
- isEvery
- lastIndexOf
- map
- mapBy
- notifyPropertyChange
- objectAt
- objectAtContent
- objectsAt
- popObject
- pushObject
- pushObjects
- reduce
- reject
- rejectBy
- removeArrayObserver
- removeAt
- removeObject
- removeObjects
- removeObserver
- replace
- reverseObjects
- set
- setEach
- setObjects
- setProperties
- shiftObject
- slice
- sortBy
- toArray
- toString
- toggleProperty
- uniq
- uniqBy
- unshiftObject
- unshiftObjects
- willDestroy
- without
Properties
- @each
- []
- concatenatedProperties
- firstObject
- hasArrayObservers
- isDestroyed
- isDestroying
- lastObject
- length
- mergedProperties
Events
No documented items