0

在模板中,我遍历所有Users. 从每个User我想将一个按钮连接到(singluar)xyz中的一个功能。UserController我必须如何使用{{action}}才能做到这一点?现在我所有的尝试都以UsersController.

索引.html

<script type="text/x-handlebars" data-template-name="users">
  <table>
    {{#each model}}
      <tr>
        <td>{{lastName}}</td>
        <td><button {{action "xyz" this}}>Xyz</button></td>
      </tr>
    {{/each}}
  </table>
</script>

应用程序.js

App = Ember.Application.create();

App.Store = DS.Store.extend({
  revision: 12,
  adapter: 'DS.FixtureAdapter'
})

App.Router.map(function() {
  this.resource('about');
  this.resource('users', function() {
    this.resource('user', { path: ':user_id' })
  })
});

App.UsersRoute = Ember.Route.extend({
  model: function() {
    return App.User.find();
  }
});

App.UserController = Ember.ObjectController.extend({
  xyz: function() {
    console.log('Bingo!')
  }  
})

App.User = DS.Model.extend({
  lastName: DS.attr('string'),
})

App.User.FIXTURES = [{
  id: 1,
  lastName: "Clinton"
}, {
  id: 2,
  lastName: "Obama"
}]
4

1 回答 1

1

一种解决方案可能是使用助手的itemController="user"属性。each这样,目标控制器应该是每个用户的 UserController 实例。

{{#each model itemController="user"}}
  <tr>
    <td>{{lastName}}</td>
    <td><button {{action "xyz" this}}>Xyz</button></td>
  </tr>
{{/each}}
于 2013-04-16T07:06:33.333 回答