0

テンプレートでは、 all をループしますUsers。それぞれから、ボタンを(singluar)の機能にUser接続したいと思います。それを行うには、どのように使用する必要がありますか?現在、私の試みはすべて.xyzUserController{{action}}UsersController

index.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>

app.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

解決策の 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 に答える