2017-03-25 12 views
2

私は今、私はこのコンポーネントからルートのアクションを呼び出す方法は?

applyDateFilter() { 
      var variable = this.get('dateFilter'); 
      this.sendAction('testAction2'); 
     } 

ようcomponent.jsでこのアクションapplyDateFilterを書かれている今、私はメインroute.jsファイルに

testAction2: function(){ 
      alert('test'); 
     } 
を別の作用を有する構成要素に

<button type="button" class="btn btn-sm btn-default" {{action "applyDateFilter"}}>GO</button> 

をボタンをしています

これを行うには、applyDateFilterアクションからこのルートアクションを呼び出す必要があります。私はember jsバージョン2.10を使用しています。 ありがとう

答えて

1

オプション1.コントローラでアクションを定義し、sendメソッドを使用してルートでアクションを呼び出す必要があります。

testAction2(){ 
    this.send('testAction2Route'); 
} 

オプション2をインストールします。ember route action helper addon。あなたは

<button type="button" class="btn btn-sm btn-default" {{route-action "applyDateFilter"}}>GO</button>

は、古典的なアクションとクロージャアクションとルートアクションに関連するもの

ため、この answerを参照してください。代わりに、通常のアクションヘルパーのルートアクションを使用して、以下のようなコンポーネントから直接呼び出すことができます
関連する問題