Puedo incluir una matriz en una Brasa objeto, y mostrar el contenido utilizando el Manillar. Sin embargo, sólo puedo reemplazar el contenido de la matriz usando set(). ¿Cómo puedo modificar el contenido de la matriz usando push/pop/etc. y aún tiene la interfaz de usuario enlaces de actualización?

//JS
App.obj = Ember.Object.create({
    "things": ["1", "2"],
});
App.obj.set("things", ["1", "2", "3"]); //Works
App.obj.things.push("3"); //Doesn't Work

//HTML + Handlebars
{{#with App.obj}}
    <ul>
    {{#each things}}
        <li>{{this}}</li>
    {{/each}}
    </ul>
{{/with}}
InformationsquelleAutor Luke Dennis | 2012-01-30

2 Comentarios

  1. 69

    Para trabajar con las colecciones, Ember.js proporciona una Matriz de clase de contenedor, Ember.Matriz /Ember.MutableArray

    Así que, en lugar de utilizar un simple array, el uso de estas:

    //JS
    App.obj = Ember.Object.create({
        "things": Ember.A(["1", "2"])
    });
    App.obj.things.pushObject("3"); //pushObject notifies observers
    
    //HTML + Handlebars
    {{#with App.obj}}
        <ul>
        {{#each things}}
            <li>{{this}}</li>
        {{/each}}
        </ul>
    {{/with}}
  2. 0

    Utilizar una instancia de Ember.ArrayController,simplemente declarar un array con [] también va a crear la serie de Ember.ArrayController clase.

    Si quieres añadir un Objeto al final de Ember ArrayController puede utilizar el método addObject ();

    por ejemplo.

    mutableArray:[],
    
    setModel:function(){
    
    var data1={'id':1,'name':'over'};
    var data2={'id':3,'name':'out'};
    
    this.get('mutableArray').addObject(data1);
    this.get('mutableArray').addObject(data2);
    
    /* To Add Object to middle of array at given index simply use the native array splice method */
    
    var data1={'id':2,'name':'and'}
    this.get('mutableArray').splice(1,0,data1);
    
    return this.get('mutableArray')
    
    }.property('mutableArray')
    • Mejor evitar el uso de Ember.ArrayController ahora ya se ha quedado obsoleto. El uso de las Brasas.Matriz o a la Brasa.ArrayProxy clases en su lugar.

Dejar respuesta

Please enter your comment!
Please enter your name here