Pregunta

Estoy intentando recorrer una matriz de propiedades calculadas en el manillar.En este ejemplo, puedo hacerlo para una matriz ordinaria, pero no para una matriz calculada:http://jsfiddle.net/gh7Qr/

¿Cuál debería ser la sintaxis correcta para recorrer una propiedad calculada en los manillares?

¿Fue útil?

Solución

Sí, es posible.Pero te olvidaste return tu matriz calculada y tienes que agregar cacheable() a propiedades calculadas, que devuelven un objeto y no una primitiva.De lo contrario, te encontrarás con un bucle infinito (ver discusión https://github.com/emberjs/ember.js/issues/38) Eche un vistazo también al excelente trabajo de Gordon Hempton. entrada en el blog sobre los errores actuales de Ember.js, entre otros relacionados con las propiedades calculadas.Sin embargo, desde el compromiso 626d23f El problema con la capacidad de almacenamiento en caché se ha resuelto.

Un ejemplo corregido de su código está aquí: http://jsfiddle.net/gh7Qr/4/

Bigote daliniano:

<script type="text/x-handlebars" >
    {{#each App.games}}
        {{this}}
    {{/each}}
    {{#each App.gamesA}}
        {{this}}
    {{/each}}
</script>

JavaScript:

App = Ember.Application.create({
    games: [1, 2, 3],
    gamesA: Em.computed(function() {
        return this.get('games').map(function(game) {
            return game + 'a';
        })
    }).property('games').cacheable()
});​

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top