ArrayProxy

Ember.ArrayProxy Class

PUBLIC

Extends: Ember.Object

Uses: Ember.MutableArray

Defined in: packages/ember-runtime/lib/system/array_proxy.js:37

Module: ember-runtime

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'
doc_EmberJs
2016-11-30 16:48:36
Comments
Leave a Comment

Please login to continue.