我有一个由{{#each}}循环生成的表格,它显示了用户的名字和姓氏。我想添加一个删除按钮以删除该行上的记录。我也在使用EmberFire与Firebase连接。

将该行中的数据与该删除按钮关联的最佳方法是什么?

这是我拥有的一些相关代码:

index.html

{{#each}}
  <tr>
    <td>
      {{this.first}}
    </td>
    <td>{{this.last}}</td>
    <td>
      <button>X</button>
    </td>
  </tr>
{{/each}}


router.js

App.IndexRoute = Ember.Route.extend({
  model: function() {
    return EmberFire.Array.create({
      ref: new Firebase(FirebaseRef + 'testObj')
    });
  },
  renderTemplate: function() {
    this.render('index');
    this.render('users', {
      outlet: 'users',
      into  : 'index'
    });
  }
});


controller.js

App.IndexController = Ember.ArrayController.extend({
  actions: {
    register: function() {
      this.pushObject({
        'first' : this.get('firstName'),
        'last'  : this.get('lastName')
      });
    }
  }
})


谢谢!

最佳答案

您可以将删除操作添加到IndexController中:

App.IndexController = Ember.ArrayController.extend({
  actions: {
    register: function() {
      this.pushObject({
        'first' : this.get('firstName'),
        'last'  : this.get('lastName')
      });
    },
    delete: function(person) {
        this.content.removeObject(person);
    }
  }
})


然后将以下内容添加到index.html中:

{{#each}}
  <tr>
    <td>
      {{this.first}}
    </td>
    <td>{{this.last}}</td>
    <td>
      <button {{action "delete" this}}>X</button>
    </td>
  </tr>
{{/each}}

关于javascript - 使用Ember.js和EmberFire生成表单,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/21687249/

10-09 04:39