Question

Essayer de comprendre ce concept dehors. Si vous CONSOLE.LOG this.get ( « contenu ») avant et après le tri, tout semble comme cela a fonctionné, mais quand il affiche à l'écran, il devient funky. Je pense que le problème est dû à Guidons. Quand il « sortes », il ajoute un quatrième enregistrement en double et des bâtons au sommet. Vous pouvez voir le problème en action ici:

http://jsfiddle.net/skinneejoe/Qpkz5/78/ (Cliquez sur le « Trier par âge » texte une ou deux fois à recourir les dossiers et vous verrez les problèmes)

Ai-je fait quelque chose de mal, est-il une meilleure façon, ou est-ce un bug? Si c'est un bug est-il une bonne solution?

Voici le code complet:

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")
    }
})
Était-ce utile?

La solution

Je ne vois pas ce bug dans Safari, Chrome ou Firefox sur OS X, donc je suppose que c'est une question IE.

Cela ressemble beaucoup à ce bug Ember ont déclaré, ce qui glissai 11 jours depuis. Essayez de mettre à Ember-latest et voir si cela résout le problème.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top