2

私は単純な foreach ループを持っています:

{{#each App.userC.companies}}
    <button class="btn btn-inverse btn-huge" {{action setcompany target="App.userC"}}>{{this.name}}</button>
{{/each}}

"companys" 要素には、name と id の 2 つの要素があります。

ボタンをクリックすると、どの「this.id」がクリックされたか知りたいですか? これを達成する方法は?私は試した:

setcompany: function(e){
    console.log($(e.target).data(...)); //output: <script id='metamorph-4-start' type='text/x-placeholder'></script>4ff2f79461d69a9811000001<script id='metamorph-4-end' type='text/x-placeholder'></script>
}

しかし、それはかなり役に立たず、これはEmberでのやり方ではないと思います

4

1 に答える 1

3

jQuery クリック イベントは、トリガーされるとハンドルバーによってコンテキストが与えられます。デフォルトでは現在のビュー コンテキストですが、好きなものを渡すことができます。

{{#each App.userC.companies}}
  <button class="btn btn-inverse btn-huge" {{action setCompany target="App.userC" context="this"}}>{{this.name}}</button>
{{/each}}

setCompany: function(event){
  var company = event.context
}

ここでAPI を確認できます。具体的には、「コンテキストの指定」セクションです。

于 2012-07-05T13:26:56.113 に答える