Domanda

Cercando di capire questo concetto. Se console.log this.get ("contenuto") prima e dopo il tipo, tutto sembra che abbia funzionato, ma quando viene visualizzato sullo schermo diventa funky. Penso che il problema sia con il manubrio. Quando "ordina" aggiunge un quarto record duplicato e lo attacca in alto. Puoi vedere il problema in azione qui:

http://jsfiddle.net/skinneejoe/qpkz5/78/ (Fai clic sul testo "ordina per età" un paio di volte per ricorrere ai record e vedrai i problemi)

Sto facendo qualcosa di sbagliato, c'è un modo migliore o è un bug? Se è un bug c'è una buona soluzione?

Ecco il codice completo:

Index.html

    <script type="text/x-handlebars">
    {{#view App.SortView}}Sort by Age{{/view}}<br/>

    {{#each App.userController}}
        {{#view App.RecordView contentBinding="this"}}
            {{content.name}} - {{content.age}}
        {{/view}}
    {{/each}}
    </script>

app.js

window.App = Ember.Application.create();

App.userController = Ember.ArrayController.create({
    content: [
        Ember.Object.create({ name:"Jeff", age:24 }),
        Ember.Object.create({ name:"Mark", age:32 }),
        Ember.Object.create({ name:"Jim", age:12 })
    ],
    sort:"desc",
    sortContent:function() {

        if (this.get("sort") == "desc") {
            this.set("sort", "asc");
        } else {
            this.set("sort","desc")
        }

        if (this.get("sort") == "asc") {
            var sortedContent = this.get("content").sort( function(a,b){
                return a.get("age") - b.get("age");
            })
        } else {
            var sortedContent = this.get("content").sort( function(a,b){
                return b.get("age") - a.get("age");
            })
        }

        this.set("content", []);
        this.set("content",sortedContent)
    }
})

App.RecordView = Ember.View.extend({})

App.SortView = Ember.View.extend({
    click: function() {
        App.userController.sortContent("poId")
    }
})
È stato utile?

Soluzione

Non vedo questo bug in Safari, Chrome o Firefox su OS X, quindi suppongo che sia un problema IE.

Sembra molto simile Questo bug Ember ha segnalato, che è stato riparato 11 giorni fa. Prova ad aggiornare a Ember-latest E vedi se questo lo risolve.

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