Ember.js 如何使用action helper访问ember 1.0 pre中的特定上下文

Ember.js 如何使用action helper访问ember 1.0 pre中的特定上下文,ember.js,Ember.js,在我的余烬视图中,我希望在每次访问期间获得此人,并将其传递给操作,但目前我只在路由器中获得一个jquery事件(奇怪的是,在1.0之前,这是否免费绑定到上下文) 模板 <script type="text/x-handlebars" data-template-name="person"> {{#each person in controller}} <li> {{person.username}}

在我的余烬视图中,我希望在每次访问期间获得此人,并将其传递给操作,但目前我只在路由器中获得一个jquery事件(奇怪的是,在1.0之前,这是否免费绑定到上下文)

模板

<script type="text/x-handlebars" data-template-name="person">
       {{#each person in controller}}
          <li> 
          {{person.username}}
          <input type="submit" value="delete" {{action removePerson person}}/>                   
          </li>
       {{/each}}
</script>
控制器更详细

PersonController: Ember.ArrayController.extend({
      content: [],                                                                               
      addPerson: function (username) {
        var person = PersonApp.Person.create({
          username: username
        });
        this.pushObject(person);
      },
      removePerson: function (person) {
        this.removeObject(person);
      }
    }),

传递给路由器操作处理程序的第二个变量实际上是事件。上下文是此事件的一个变量。改写如下:

Router: Ember.Router.create({
  root: Ember.Route.extend({
    index: Em.Route.extend({
      route: '/',
      removePerson: function(router, event) {
        router.get('personController').removePerson(event.context);
      },

非常感谢。(不知道为什么我一开始在调试器中没有看到这一点)最后一个问题——我知道。如果我使用完整持久性来执行此操作,路由器会首先通过http异步调用一个简单的删除,然后在控制器上启动removePerson事件,使应用程序看起来像是实时发生的。如果没有,我应该如何处理这个问题?如果您使用的是ember数据,那么您的removePerson方法应该创建一个事务,将记录添加到事务中,调用deleteRecord,然后调用transaction.commit()。成功提交将自动从集合中删除记录。太棒了-我希望看到官方v1.0版本中包含的余烬数据(目前我没有实际使用它,所以我需要阅读)
Router: Ember.Router.create({
  root: Ember.Route.extend({
    index: Em.Route.extend({
      route: '/',
      removePerson: function(router, event) {
        router.get('personController').removePerson(event.context);
      },