Class ArrayProxy
publicExtends: | EmberObject |
---|---|
Uses: | MutableArray |
Defined in: | packages/ember-runtime/lib/system/array_proxy.js:33 |
Module: | @ember/array |
import 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
© 2020 Yehuda Katz, Tom Dale and Ember.js contributors
Licensed under the MIT License.
https://api.emberjs.com/ember/2.18/classes/ArrayProxy