Domanda

Sto cercando di andare in giro su un array di proprietà calcolato in manubri.In questo esempio, posso farlo per un normale array, ma non una matrice calcolata: http://jsfiddle.net/gh7qr/

Cosa dovrebbe essere la sintassi giusta per il loop su una proprietà calcolata in manubrio?

È stato utile?

Soluzione

Sì, è possibile. Ma hai dimenticato return il tuo array calcolato e devi aggiungere cacheable() a proprietà calcolate, che restituiscono un oggetto e non un primitivo. Altrimenti entrerai in un anello infinito (vedi discussione https://github.com/emberjs /ed.js/issues/38 ) Dai un'occhiata a Gordon Hempton è eccellente Blog Post Informazioni su Attuale Ember.js Gotchas, tra gli altri in merito alle proprietà calcolate. Tuttavia, dal momento che commettere 626d23f Il problema con la cache è stato risolto.

Un esempio corretto del tuo codice è qui: http://jsfiddle.net/gh7qr/4/

Manubri:

<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()
});​
.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top