Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/395.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 删除已排序列表上的问题_Javascript_Html_Ember.js - Fatal编程技术网

Javascript 删除已排序列表上的问题

Javascript 删除已排序列表上的问题,javascript,html,ember.js,Javascript,Html,Ember.js,我有第一页显示城市列表,第二页显示城市详细信息。在详细信息页面中,我可以编辑或删除城市。编辑模式工作正常,但删除操作不正常:我只能删除排序列表的第一项 当我直接在列表页面上使用supp操作时,一切都正常。但是,如果我想从详细信息页面中删除一个城市,那么使用supprimer功能,只能删除排序内容的第一项 列表控制器: App.VillesController = Ember.ArrayController.extend({ queryParams: ['perPage','page'], pa

我有第一页显示城市列表,第二页显示城市详细信息。在详细信息页面中,我可以编辑或删除城市。编辑模式工作正常,但删除操作不正常:我只能删除排序列表的第一项

当我直接在列表页面上使用supp操作时,一切都正常。但是,如果我想从详细信息页面中删除一个城市,那么使用supprimer功能,只能删除排序内容的第一项

列表控制器:

App.VillesController = Ember.ArrayController.extend({

queryParams: ['perPage','page'],
page: 1,
perPage: 10,

isHelpVisible: false,
sortProperties: ['nom_comm'],
sortAscending: true,    

toDelete: null,

actions: {
    toggleHelpVisibility: function () {
          this.toggleProperty('isHelpVisible'); 
        },

    sortBy: function(field){
        if(field == this.sortProperties){ 
            this.toggleProperty('sortAscending'); 
        }
        else{
            this.set('sortAscending', true);
        }
        this.set('sortProperties', [field]);
    },

    selectPage: function(number){
        this.set('page',number);
    },
    supp: function(ville){
        var results = this.get('results');
        results.removeObject(ville);

    }
},

results: function(){
    this.set('page',1);
    var villes = this.get('arrangedContent'); 
    var searchTerm = this.get('searchTerm');
    var regex = new RegExp('^'+searchTerm,'gi');

    if(searchTerm){
        villes = villes.filter(function(ville){
            return regex.test(ville.get('id'));
        });
        return villes;
    }
    else{
        return villes;
    }

}.property('arrangedContent', 'searchTerm'),

isOnly: function(){
    var results = this.get('results');
    return results.get('length') <= 1 ;
}.property('results.length'),

totalPages: function(){
    var results = this.get('results');
    return Math.ceil(results.get('length') / this.get('perPage'));
}.property('perPage','results.length'),

pages: function(){
    var collection = Ember.A();
    for(var i = 0; i < this.get('totalPages'); i++){
        collection.pushObject(Ember.Object.create({
            number: i + 1
        }));
    }
    return collection;
}.property('totalPages'),

hasPages: function(){
    return this.get('totalPages') > 1;
}.property('totalPages'),

prevPage: function(){
    var page = this.get('page');
    var totalPages = this.get('totalPages');

    if(page > 1 && totalPages > 1)
        return page - 1;    
    else
        return null;

}.property('page', 'totalPages'),

nextPage: function(){
    var page = this.get('page');
    var totalPages = this.get('totalPages');

    if(page < totalPages && totalPages > 1)
        return page + 1;
    else
        return null;
}.property('page','totalPages'),

paginatedContent: function(){
    var results = this.get('results');
    var page = this.get('page');
    var totalPages = this.get('totalPages');

    if(page > totalPages)
        this.set('page',totalPages);

    var start = (this.get('page') - 1) * this.get('perPage');
    var end = start + this.get('perPage');

    return results.slice(start,end);

}.property('page','totalPages')

});
App.VilleController = Ember.ObjectController.extend({
needs: 'villes', 
results : Ember.computed.alias('controllers.villes.results'),


isEditing: false,
isDisabled: true,
actions: {
    editer: function(){
        this.toggleProperty('isEditing');
        this.toggleProperty('isDisabled');
    },
    valider: function(){
        this.toggleProperty('isEditing');
        this.toggleProperty('isDisabled');      
    },
    supprimer: function(){
        var ville = this.get('model');
        var results = this.get('results');
        results.removeObject(ville);    

    }
}
});

你能在jsbin中重现你的问题吗?使用你想要删除的元素的特定id。