小编Cha*_*ore的帖子

Ember.js:从Sorted ArrayController中删除一个项目

在我正在构建的Ember应用程序中,我有一个ArrayController管理一个项目列表,其中包含数组中每个记录对象的几列数据,并在视图的每个列标题中都有一个排序按钮.我已经设置了名单每巴林特ERDI推荐的方法给定列排序这里.您将在下面的代码中看到这种排序.

分拣工作正常.但是,当我从数组中删除项目时出现问题.目前,当我尝试从数组中删除项目时,显然从数组中删除了正确的项目并从存储中正确删除,并将删除保存到我的后端.但是,删除项目后,我的视图不正确.在某些情况下,错误的项目显示为已删除,在其他情况下,没有项目显示为已删除.然而,如果我再次按排序,视图会正确更新.

所以,数组的索引显然是如何下降的,但是我不确定我的所有尝试应用其他人的技巧是不行的!

这是我的路线对象:

  App.UsersFilesRoute = Ember.Route.extend({
    model: function () {
      return this.modelFor('users').get('files');
      }
  });
Run Code Online (Sandbox Code Playgroud)

这是我的ArrayController:

  App.UsersFilesController = Ember.ArrayController.extend({
    sortProperties: ['name'],
    sortedFiles: Ember.computed.sort('model', 'sortProperties'),
    actions: {
      addFile: function(file) {
        var newFile = this.store.createRecord('file', {
          name: file.name.trim(),
          fileSize: file.size,
          loaded: false
        });
        this.pushObject(newFile);
      },
      sortBy: function (sortProperties) {
        this.set('sortProperties', [sortProperties]);
      },
      removeFile: function (fileToRemove) {
        var _this = this;
        var file = this.store.find('file', fileToRemove.get('id'));
        file.then( function (file) {
          _this.removeObject(file);
          file.deleteRecord();
          file.save();
        });
      },
      saveFile: function (file) {
        ....
      } …
Run Code Online (Sandbox Code Playgroud)

javascript ember.js

5
推荐指数
1
解决办法
648
查看次数

标签 统计

ember.js ×1

javascript ×1